salve ragazzi avrei un quesito da porvi.
Allora, ho una applicazione che al suo avvio carica all'interno di un Jframe un JPanel con al suo interno due tabelle ed altri componenti swing. Alle due tabelle ho abilitato il drag and drop insomma funziona tutto, poi se vado attraverso il menù in un altra schermata e ritorno (senza riavviare il programma) sul panel principale, non funziona più niente è come se tutto fosse nullo, in pratica le tabelle non funzionano ecc ecc
Ho paura che il problema sia nel modo in cui io richiamo i panel tramite il menu. posto il codice
spero in un vostro aiutocodice:package Main; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import javax.swing.JCheckBoxMenuItem; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JProgressBar; import javax.swing.JRadioButtonMenuItem; import javax.swing.SwingUtilities; import javax.swing.WindowConstants; import Componenti_Swing.Dimensione; import Panel.MainPanel; import Panel.PanelIngredienti; import Panel.PanelZuccheriCompositi; import Panel.PanelZuccheriPuri; public class TestaFrame extends JFrame{ PanelIngredienti ingredienti; MainPanel mainpanel; public TestaFrame() throws InstantiationException, IllegalAccessException{ super("iGelato Versione 1.0"); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); Dimensione d2 = new Dimensione(); this.setPreferredSize(d2.DimensionePanel()); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.pack(); this.setVisible(true); this.setResizable(true); MenuLookDemo22 demo = new MenuLookDemo22(); this.setJMenuBar(demo.createMenuBar()); //adesso attacco al frame il pannello principale che sarà il cuore del programma mainpanel = new MainPanel(); getContentPane().add(mainpanel, BorderLayout.CENTER); getContentPane().validate(); //fine }//fine testaframe public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { try { TestaFrame f = new TestaFrame(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } } });}//fine metodo main public class MenuLookDemo22{ public JMenuBar createMenuBar() { JMenuBar menuBar; JMenu menu, submenu; JMenuItem menuItem; final JMenuItem menuItemR; JRadioButtonMenuItem rbMenuItem; JCheckBoxMenuItem cbMenuItem; //Create the menu bar. menuBar = new JMenuBar(); //Build the first menu. menu = new JMenu("File"); menuBar.add(menu); menuItemR = new JMenuItem("Salva Ricetta", KeyEvent.VK_T); menuItemR.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { mainpanel.salvaRicetta(); }//fine metodoVoid });//fine actionlistener menu.add(menuItemR); menuItem = new JMenuItem("Esci", KeyEvent.VK_T); menuItem.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { System.exit(0); }//fine metodoVoid });//fine actionlistener menu.add(menuItem); menu = new JMenu("Bilanciamento"); menuBar.add(menu); menuItem = new JMenuItem("Ricetta", KeyEvent.VK_T); menuItem.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { getContentPane().remove(0); menuItemR.setEnabled(true); mainpanel = null; try { mainpanel = new MainPanel(); System.out.println("Ciccio spugna"); } catch (InstantiationException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IllegalAccessException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } getContentPane().add(mainpanel, BorderLayout.CENTER); getContentPane().validate(); }//fine metodoVoid });//fine actionlistener menu.add(menuItem); return menuBar; }}}//fine classe generale
Michele



Rispondi quotando