Ho dovuto fare altri lavori nel frattempo (ed una piccola ricerca sui JComboBox, che conoscevo ma non avevo mai usato prima) ma alla fine ho cambiato il
codice:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.event.ActionListener;
public class Screen2 extends JFrame {
private static final long serialVersionUID = 1L;
// Creazione dei componenti
JButton annullaButton;
JButton fineButton;
JPanel pannello;
Container contentPane;
public Screen2() {
super("Screen2");
setSize(450, 315);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setDefaultLookAndFeelDecorated(true);
contentPane = getContentPane();
//Due colonne e dodici righe:
contentPane.setLayout(new GridLayout(12,2));
//.....qui istanzi i componenti e li assegni alle variabili di istanza.....
JLabel lNome = new JLabel("Nome:");
contentPane.add(lNome);
JTextField tNome = new JTextField("Inserisci il nome");
contentPane.add(tNome);
JLabel lCognome = new JLabel("Cognome:");
contentPane.add(lCognome);
JTextField tCognome = new JTextField("Inserisci il cognome");
contentPane.add(tCognome);
JLabel lIndirizzo = new JLabel("Indirizzo:");
contentPane.add(lIndirizzo);
JTextField tIndirizzo = new JTextField("Inserisci l'indirizzo");
contentPane.add(tIndirizzo);
JLabel lRuolo = new JLabel("Ruolo:");
contentPane.add(lRuolo);
JComboBox tRuolo = new JComboBox();
tRuolo.addItem("Programmatore");
tRuolo.addItem("TeamLeader");
tRuolo.addItem("Contabile");
tRuolo.addItem("Amministratore");
contentPane.add(tRuolo);
JLabel lMatricola = new JLabel("Matricola:");
contentPane.add(lMatricola);
JTextField tMatricola = new JTextField("Inserisci la matricola");
contentPane.add(tMatricola);
JLabel lPagBase = new JLabel("Paga base:");
contentPane.add(lPagBase);
JTextField tPagBase = new JTextField("Inserisci la paga base");
contentPane.add(tPagBase);
JLabel lPagOraria = new JLabel("Paga oraria attuale:");
contentPane.add(lPagOraria);
JTextField tPagOraria = new JTextField("Inserisci la paga oraria attuale");
contentPane.add(tPagOraria);
JLabel lOreLavoro = new JLabel("Ore lavorative giornaliere:");
contentPane.add(lOreLavoro);
JTextField tOreLavoro = new JTextField("Inserisci le ore lavorative giornaliere");
contentPane.add(tOreLavoro);
JLabel lSede = new JLabel("Sede:");
contentPane.add(lSede);
JTextField tSede = new JTextField("Inserisci la sede dell'ufficio");
contentPane.add(tSede);
JLabel lNumDipendenti = new JLabel("Numero dipendenti:");
contentPane.add(lNumDipendenti);
JTextField tNumDipendenti = new JTextField("Inserisci il numero dei dipendenti");
contentPane.add(tNumDipendenti);
JLabel lModifica = new JLabel("Tipo di modifica:");
contentPane.add(lModifica);
JComboBox theOptions = new JComboBox();
theOptions.addItem("Aggiungi dipendente");
theOptions.addItem("Aggiorna dipendente");
theOptions.addItem("Annulla dipendente");
contentPane.add(theOptions);
//Aggiungo i JButton (con i nomi)
JButton fineButton = new JButton("Fine");
contentPane.add(fineButton);
JButton annullaButton = new JButton("Annulla");
contentPane.add(annullaButton);
// Settaggio testo
tNome.setEditable(true);
tCognome.setEditable(true);
tIndirizzo.setEditable(true);
tRuolo.setEditable(true);
tMatricola.setEditable(true);
tPagBase.setEditable(true);
tPagOraria.setEditable(true);
tOreLavoro.setEditable(true);
tSede.setEditable(true);
tNumDipendenti.setEditable(true);
//ActionListener(s) da implementare dopo questa classe
Receiver1 receiver1 = new Receiver1();
Receiver2 receiver2 = new Receiver2();
// assegnazione ActionListener(s) ai corrispondenti JButton(s) assegnazione ActionListener(s) ai corrispondenti JButton(s)
fineButton.addActionListener(receiver1);
annullaButton.addActionListener(receiver2);
}
class Receiver1 implements ActionListener {
public void actionPerformed(ActionEvent e) {
}
}
class Receiver2 implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Screen2().setVisible(true);
}
});
}
}
È indentato meglio il codice?
Mi sa che ho posizionato male la scelta del LookAndFeel, perchè non funziona...
Scusa la mia enorme ignoranza, ma cosa intendevi con:
//Aggiungo i JButton (con i nomi)
// Qui stai definendo variabili locali, non stai assegnando ai campi di istanza
JButton fineButton = new JButton("Fine");
contentPane.add(fineButton);
JButton annullaButton = new JButton("Annulla");
contentPane.add(annullaButton);
.........
?