Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [java] problema con repaint

    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!
    Wami agency
    Io odio tutti gli up-loads!

  2. #2
    scusate ho risolto, ho postato per nulla (il panico!!!).


    soluzione

    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("Dio bono!!!???");
    	}
    }
    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;
    			img = Toolkit.getDefaultToolkit().createImage(file + ".jpg");
    			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);
    	}
    }
    
    
    
    
    }
    Wami agency
    Io odio tutti gli up-loads!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.