Okay grazie ho risolto così:
public class FinestraPrincipale extends JFrame implements FocusListener{
public FinestraPrincipale(){
ListaConsumazioni lista = new ListaConsumazioni();
Vector<Consumazione> vconsumazioni = new Vector<Consumazione>();
JFrame f = new JFrame("Gestione consumazioni/Programma realizzato da Tommaso Perilli");
JPanel p = new JPanel();
JButton registra = new JButton("Registra");
registra.setAlignmentX(Component.CENTER_ALIGNMENT);
JLabel ltipoconsumazione = new JLabel("Tipo Consumazione");
ltipoconsumazione.setAlignmentX(Component.CENTER_ALIGNMENT);
final JButton fine = new JButton("Fine consumazione");
fine.setAlignmentX(Component.CENTER_ALIGNMENT);
JTextField tipo = new JTextField(2);
tipo.setAlignmentX(Component.CENTER_ALIGNMENT);
tipo.addFocusListener(new FocusListener(){
public void focusGained(FocusEvent e) {
fine.setEnabled(false);
}
public void focusLost(FocusEvent e) {
fine.setEnabled(true);
}
});
JLabel lprezzo = new JLabel("Prezzo consumazione");
lprezzo.setAlignmentX(Component.CENTER_ALIGNMENT);
JTextField prezzo = new JTextField(2);
prezzo.setAlignmentX(Component.CENTER_ALIGNMENT);
prezzo.addFocusListener(new FocusListener(){
public void focusGained(FocusEvent e) {
fine.setEnabled(false);
}
public void focusLost(FocusEvent e) {
fine.setEnabled(true);
}
});
JTextArea a = new JTextArea(10,5);//qui verrà visualizzato lo scontrino
JTextArea b = new JTextArea(10,5);//qui verranno visualizzati tutte le consumazioni
JScrollPane scroll=new JScrollPane(b);//aggiunge lo scroll al campo di testo
JScrollPane scroll2 = new JScrollPane(a);
a.setEditable(false);
b.setEditable(false);
scroll.setAutoscrolls(true);
scroll2.setAutoscrolls(true);
JLabel ltotale = new JLabel("Incasso totale:");
JTextArea c = new JTextArea(1,4);
c.setEditable(false);
//sul jpanel p verrà implementato uno stile
p.setLayout(new FlowLayout());
p.add(new JLabel("Gestione Bar"));
JPanel p2 = new JPanel();
p2.setLayout(new BoxLayout(p2, BoxLayout.Y_AXIS));
p2.add(ltipoconsumazione);
p2.add(tipo);
p2.add(lprezzo);
p2.add(prezzo);
p2.add(registra);
p2.add(fine);
JPanel p3 = new JPanel();
p3.setLayout(new BoxLayout(p3, BoxLayout.Y_AXIS));
p3.add(new JLabel("Scontrino fiscale precedente:"));
p3.add(scroll2);
JPanel p4 = new JPanel();
p4.setLayout(new BoxLayout(p4, BoxLayout.Y_AXIS));
p4.add(new JLabel("Lista consumazioni totali"));
p4.add(scroll);
JPanel p5 = new JPanel();
p5.setLayout(new FlowLayout());
p5.add(ltotale);
p5.add(c);
registra.addActionListener(new GestorePulsante(a,b,tipo,prezzo,c,lista,vconsumazioni));
fine.addActionListener(new GestorePulsante(a,b,tipo,prezzo,c,lista,vconsumazioni));
f.addWindowListener(new GestoreFinestra(f));
f.getContentPane().add(p,BorderLayout.NORTH);
f.getContentPane().add(p2,BorderLayout.WEST);
f.getContentPane().add(p3,BorderLayout.CENTER);
f.getContentPane().add(p4,BorderLayout.EAST);
f.getContentPane().add(p5,BorderLayout.SOUTH);
f.setSize(700,300);
f.setLocation(400,300);
f.pack();
f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
f.setVisible(true);
}
@Override
public void focusGained(FocusEvent e) {
// TODO Auto-generated method stub
}
@Override
public void focusLost(FocusEvent e) {
// TODO Auto-generated method stub
}
}
e:
public class Bar{
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new FinestraPrincipale();
}
});
}
}
Grazie mille! sei un grande
Un'ultima cosa, come faccio a disabilitare un bottone quando un campo di testo è vuoto? perchè adesso ho disabilitato un bottone quando si clicca sopra ad una jtextfield insomma..