Scusate se posto tutto sto codice ma sono veramente disperato ho l'esame di prog OO domani mattina!
Non riesco a caricare una nuova immagine da menu a tendina. Uso repant() ma senza alcun risultato.
codice:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class finestra {
public static void main(String[] args) {
elementiFinestra f1 = new elementiFinestra("Finestra",1000,700);
System.out.print("Finestra!!!???");
}
}
class elementiFinestra extends JFrame {
private JPanel pannelloBottoni, pannelloImmagine;
private JButton bot1, bot2;
private Color coloreBot2 = Color.blue;
private String file = "prova";
private Image img = Toolkit.getDefaultToolkit().createImage(file + ".jpg");
public elementiFinestra (String titolo, int x, int y) {
setTitle(titolo);
setSize(x,y);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(new BorderLayout());
//Pannello Bottoni
pannelloBottoni = new JPanel();
bot1 = new JButton("Bottone 1");
bot2 = new JButton("Bottone 2");
bot1.setBackground(Color.cyan);
bot1.setForeground(Color.blue);
pannelloBottoni.add(bot1);
bot2.setBackground(coloreBot2);
pannelloBottoni.add(bot2);
bot1.addActionListener(new ascoltaBot1());
getContentPane().add(pannelloBottoni,BorderLayout.SOUTH);
//immagini
pannelloImmagine = new pannelloGrafica();
getContentPane().add(pannelloImmagine,BorderLayout.CENTER);
//menu
JPanel pannelloMenu = new JPanel();
JComboBox cl = new JComboBox();
cl.addItem("uno");
cl.addItem("due");
cl.addItem("tre");
cl.addItem("quattro");
cl.addItem("cinque");
cl.addItem("sei");
cl.addItemListener(new ascoltaMenu());
pannelloMenu.add(cl);
getContentPane().add(pannelloMenu,BorderLayout.WEST);
setVisible(true);
}
class ascoltaBot1 implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.print("sdfsf sd sdf sdfsd f");
}
}
class ascoltaMenu implements ItemListener {
public void itemStateChanged(ItemEvent ie) {
String s = (String)ie.getItem();
file = s;
System.out.println(file);
repaint();
}
}
class pannelloGrafica extends JPanel {
public void pannelloGrafica(){}
public void paintComponent(Graphics g){
g.drawImage(img,20,20,img.getWidth(this),img.getHeight(this),this);
}
}
}
Grazie ancora a tutti!