Ciao a tutti,
cimentandomi da pochissimo con le GUI di Java, non riesco bene a capire come far funzionare una cosa.
Ho creato inizialmente questo frame con tutta una serie di componenti:
Codice PHP:
import.....
...
class ProvaFrame extends JFrame {
private JScrollPane scrollPane;
private JTextField textfield1;
private JFormattedTextField textfield2;
public provaFrame() {
super("prova");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setSize(800, 600);
textfield1 = new JTextField();
textfield2 = new JFormattedField();
final DefaultTableModel data = new DefaultTableModel();
data.addColumn("Colonna1");
data.addColumn("Colonna2");
final JTable table = new JTable(data);
scrollPane = new JScrollPane(table);
JButton bottone1 = new JButton("Bottone1");
JPanel pannelloAlto = new JPanel(new FlowLayout(FlowLayout.LEFT));
pannelloAlto.add(bottone1);
JPanel controlPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
controlPanel.add(textfield1);
controlPanel.add(textfield1);
getContentPane().add(pannelloAlto, BorderLayout.NORTH);
getContentPane().add(scrollPane, BorderLayout.CENTER);
getContentPane().add(controlPanel, BorderLayout.SOUTH);
}
E fin qui tutto bene. Poi, però, è sopraggiunta una nuova idea: ho creato, in un file a parte una JTabbedPane con tre tab. Ciascuno di questi tre tab dovrebbe mostrare il frame di cui sopra! Ma se faccio una cosa del genere:
Codice PHP:
public class ProvaTab extends JFrame
{
public ProvaTab() {
super ("Prova tab");
JTabbedPane tabbedPane = new JTabbedPane();
ProvaFrame prova1 = new ProvaFrame();//IL FRAME DI SOPRA
tabbedPane.addTab("Prova 1", prova1);
...
...
il compilatore, come mi aspettavo, mi ritorna questo errore:
Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container
Allora vi chiedo:
1)Come faccio ad aggiungere il frame "ProvaFrame" ad un tab di JTabbedPane?
2)Oltre a questo, cliccando su uno dei tab dichiarati, è anche possibile aggiungere una funzione del tipo "Esci dal programma" invece che solo JPanel?
Grazie fin d'ora..