In entrambe le mie classi Java, e i libri che usavamo in essi, la creazione di una GUI con codice coinvolgeva pesantemente il costruttore di JFrame. La tecnica standard nei libri sembra essere quella di inizializzare tutti i componenti e aggiungerli a JFrame nel costruttore, e aggiungere gestori di eventi anonimi per gestire gli eventi dove necessario, e questo è ciò che è stato sostenuto nella mia classe.Best Practice with JFrame Constructors?
Questo sembra essere piuttosto facile da capire e facile da usare quando si crea una GUI molto semplice, ma sembra diventare rapidamente brutto e ingombrante quando si crea qualcosa di diverso da una semplice GUI. Ecco un esempio di codice piccolo di quello che sto descrivendo:
public class FooFrame extends JFrame {
JLabel inputLabel;
JTextField inputField;
JButton fooBtn;
JPanel fooPanel;
public FooFrame() {
super("Foo");
fooPanel = new JPanel();
fooPanel.setLayout(new FlowLayout());
inputLabel = new JLabel("Input stuff");
fooPanel.add(inputLabel);
inputField = new JTextField(20);
fooPanel.add(inputField);
fooBtn = new JButton("Do Foo");
fooBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//handle event
}
});
fooPanel.add(fooBtn);
add(fooPanel, BorderLayout.CENTER);
}
}
E 'questo tipo di utilizzo del costruttore il modo migliore per codificare un'applicazione Oscillazione in java? In tal caso, quali tecniche posso utilizzare per assicurarmi che questo tipo di costruttore sia organizzato e manutenibile? In caso contrario, qual è il modo consigliato di avvicinarsi mettendo insieme un JFrame in java?
Quindi stai dicendo di non estendere inutilmente JFrame come ho fatto sopra, ma in una classe separata creare un nuovo JFame e aggiungere componenti ad esso? Questo sembra un modo abbastanza ragionevole di agire su questo. Conoscete qualche buon riferimento per consultare come strutturare il codice gui swing? Grazie per l'input. –