Ho fatto questa piccola classe. Io mi aspettavo che cliccando sul tasto "Planner" il JPanel "corpoFinestra" cambiasse, invece non succede nulla. Al massimo sono riuscito a fargli cambiare colore con un setBackgroundColor...
come mai?
codice:public class NewAgenda extends JFrame { JPanel corpoFinestra = new JPanel(); public NewAgenda() throws Exception { corpoFinestra.setBackground(Color.GRAY); this.addWindowListener(new EventoEsci()); this.setTitle("Agenda"); this.getContentPane().add(disegnaToolBar(), BorderLayout.NORTH); this.getContentPane().add(corpoFinestra, BorderLayout.CENTER); this.pack(); this.setSize(800, 600); utility.centraFinestra(this); this.setVisible(true); } private JToolBar disegnaToolBar() throws Exception { JToolBar barra = new JToolBar(); barra.add(new PulsantePlanner()); barra.add(new JButton("Mensile")); barra.add(new JButton("Settimanale")); barra.add(new JButton("Giornaliero")); return (barra); } //DEFINIZIONE DEGLI EVENTI private class EventoEsci extends WindowAdapter implements ActionListener { private void esci() { System.exit(0); } public void actionPerformed(ActionEvent e) { esci(); } public void windowClosing(WindowEvent e) { esci(); } } private class EventoPlanner implements ActionListener { public void actionPerformed(ActionEvent e) { corpoFinestra.add(new JButton("Planner")); } } //DEFINIZIONE DEI PULSANTI private class PulsantePlanner extends JButton { public PulsantePlanner() { this.setText("Planner"); this.addActionListener(new EventoPlanner()); } } }


Rispondi quotando