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!

Rispondi quotando