|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Nov 2008
Messaggi: 64
|
[Java] overrides a deprecated API
Salve ragazzi,ho appena installato la nuova Jdk e adesso il programma non va più. Ho sempre creato interfacce grafiche seguendo questa sorta di schema
(questo è un piccolo esempio di apertura di una immagine che poi viene caricata in metà del Frame): Codice:
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.filechooser.*;
import javax.imageio.*;
import javax.swing.border.*;
import javax.swing.filechooser.FileFilter;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.awt.color.*;
import java.io.*;
import java.beans.*;
public class anteprima extends JFrame implements ActionListener
{
pannelloa a=new pannelloa();
pannellob b=new pannellob();
JMenuItem carica,elabora;
public anteprima()
{
super();
Toolkit tool = Toolkit.getDefaultToolkit();
Dimension dim =tool.getScreenSize();
setTitle("ANTEPRIMA");
setSize(dim.width/2,dim.height/2);
setLocation(dim.width/4,dim.height/4);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JMenuBar barra=new JMenuBar();
JMenu immagine=new JMenu("Immagine");
carica=new JMenuItem("Carica");
barra.add(immagine);
immagine.add(carica);
carica.addActionListener(this);
this.setJMenuBar(barra);
Container pane=getContentPane();
pane.setLayout(new GridLayout(1,2));
pane.add(a);
pane.add(b);
}
public void actionPerformed(ActionEvent e)
{
Object source=e.getSource();
if(source==carica)
{
JFileChooser finestra= new JFileChooser();
finestra.setDialogTitle("APRI FILE IMMAGINE");
finestra.setAcceptAllFileFilterUsed(true);
finestra.setCurrentDirectory( new File ("c:\\"));
int risposta=finestra.showOpenDialog(this);
if (risposta == JFileChooser.APPROVE_OPTION)
{
try
{
BufferedImage immagine = ImageIO.read(finestra.getSelectedFile());
b.setImage(immagine);
}
catch (Exception EX)
{
System.out.println(" errore durante il caricamento dell' immagine");
}
}
}
}
class pannelloa extends JPanel
{
public pannelloa()
{
setBackground(Color.green);
}
}
class pannellob extends JPanel
{
private BufferedImage immagine;
public pannellob()
{
setBackground(Color.red);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
if(immagine!=null)
{
g.drawImage(immagine,0,0,this.getWidth(),this.getHeight(),null);
}
}
public void setImage(BufferedImage nuovaimmagine)
{
immagine=nuovaimmagine;
repaint();
}
}
public static void main (String[] args) {
anteprima A = new anteprima();
A.show();
}
}
Grazie anticipatamente per una eventuale risposta...ciao |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Non vedo problemi che dovrebbero pregiudicare l'eseguibilità di quel programma.
Dovresti dire: Codice:
public static void main (String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
anteprima A = new anteprima();
A.setVisible(true);
}
});
}
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Nov 2008
Messaggi: 64
|
Come al solito diretto,conciso e perfetto
Grazieeee |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:12.



















