Salve a tutti![]()
sto creando il mio primo programma in Java con l'utilizzo del CardLayout.
Non riesco a capire per quale motivo aggiungendo vari componenti quali JRadioButton JButton ecc... una volta lanciata l'applicazione questi non sono visibili.
Spero che qualcuno sappia aiutarmi![]()
vi ringrazio in anticipo![]()
questo è il codice :
[CODE]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JFrame;
import javax.swing.JButton;
public class App extends JFrame
{
//-----------------------------------------------------------
// Dichiarazione delle variabili
//-----------------------------------------------------------
JPanel cards;
JLabel label;
JLabel prova ;
JButton avanti ;
JPanel contentPane = new JPanel();
JPanel contentPane1 = new JPanel();
JPanel contentPane2 = new JPanel();
CardLayout carte;
ButtonGroup scelta;
JRadioButton n1;
JRadioButton n2;
JRadioButton n3;
JRadioButton n4 ;
//-----------------------------------------------------------------
// Metodo atto alla visualizzazione dei componenti grafici ( GUI )
//-----------------------------------------------------------------
public static void AppGUI()
{
JFrame frame = new JFrame();
App canne = new App();
canne.initializeComponent(frame.getContentPane(), frame);
frame.setTitle("Prima");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
frame.setLocation(new Point(350, 300));
frame.setSize(new Dimension(350, 215));
frame.setResizable(false);
frame.setVisible(true);
}
//-----------------------------------------------------------
// Inizializzazione di tutti i componenti
//-----------------------------------------------------------
public void initializeComponent(Container pane, JFrame frame)
{
//-----------------------------------------------------------------
contentPane.setLayout(null);
contentPane1.setLayout(null);
contentPane2.setLayout(null);
JLabel label = new JLabel("Prima applicazione");
JLabel prova = new JLabel("Secondo JPanel");
JLabel prova1 = new JLabel("Terzo JPanel");
JButton avanti = new JButton("Avanti");
JButton avanti_0 = new JButton("Avanti");
CardLayout carte = new CardLayout();
ButtonGroup scelta = new ButtonGroup();
JRadioButton n1 = new JRadioButton("Nessuna");
JRadioButton n2 = new JRadioButton("Qualcosa");
JRadioButton n3 = new JRadioButton("boh");
JRadioButton n4 = new JRadioButton("aaa");
//----------------------------------------------------------------
//Aggiungo i componenti alle schede
//----------------------------------------------------------------
//-------------------
//Aggingo JRadioButton al ButtonGroup
//-------------------
scelta.add(n1);
scelta.add(n2);
scelta.add(n3);
scelta.add(n4);
//-------------------
addComponent(contentPane, label, 0,0,300,18);
addComponent(contentPane, avanti, 250,145,83,28);
addComponent(contentPane, n1, 0, 30, 260, 15);
addComponent(contentPane, n2, 0, 60, 250, 15);
addComponent(contentPane, n3, 0, 90, 250, 15);
addComponent(contentPane, n4, 0, 120, 250, 15);
addComponent(contentPane1, avanti_0, 250,145,83,28);
addComponent(contentPane1, prova, 10, 10, 300, 18);
addComponent(contentPane2, prova1, 10, 10, 300, 18);
//---------------------------------------------------------------------------
//Aggiungo i pannelli ad un nuovo pannello con un layout a schede (CardLayout)
//----------------------------------------------------------------------------
cards = new JPanel(new CardLayout());
cards.add(contentPane, "primo");
cards.add(contentPane1, "secondo");
cards.add(contentPane2, "terzo");
pane.add(cards, BorderLayout.PAGE_START);
//-----------------------------------------------------------------------------
// Implementazione della gestione degli eventi dei pulsanti
//-----------------------------------------------------------------------------
avanti.setActionCommand("secondo");
avanti_0.setActionCommand("terzo");
Listener l = new Listener();
avanti.addActionListener(l);
avanti_0.addActionListener(l);
}
public class Listener implements ActionListener
{
public void actionPerformed( ActionEvent e )
{
CardLayout cl = (CardLayout)(cards.getLayout());
String temp = e.getActionCommand();
System.out.println("temp = " + temp);
cl.show(cards, temp);
}
}
//----------------------------------------------------------------------------------
// Agginge componenti ai vari pannelli decidendone la posizione assoluta su di esso
//----------------------------------------------------------------------------------
public void addComponent(Container container,Component c,int x,int y,int width,int height)
{
c.setBounds(x,y,width,height);
container.add(c);
}
//-----------------------------------------------------------
// Rende eseguibile il programma
//-----------------------------------------------------------
public static void main(String[] args)
{
javax.swing.SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
AppGUI();
}
});
}
}