ciao a tutti...
vi richiedo consiglio sul da farsi.
Dopo aver pensato alla logica del mio applicativo standalone mi sto lanciando a creare la grafica...
ho letto un pò in giro su vari manualetti swing.
io ho creato una finestra
codice del segmento rossocodice:public class Window extends JFrame { public static final int LARGHEZZA = 800; public static final int ALTEZZA = 600; static JFrame window = new JFrame("Window"); public Window() {} public static void startApplication (){ window.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); window.setSize(400, 300); window.setBackground(Color.blue); window.setBounds(0, 0, LARGHEZZA, ALTEZZA); // Conferma in fase di chiusura window.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); window.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { int answer = JOptionPane.showConfirmDialog(e.getWindow(), "Vuoi veramente chiudere la finestra?", "Conferma chiusura", JOptionPane.YES_NO_OPTION); if (answer == JOptionPane.YES_OPTION) { e.getWindow().dispose(); } } }); //Carico il tasto window.getContentPane().add(TastiPrincipali.BottoniStart(),BorderLayout.WEST); window.setVisible(true);
Quello che vi chiedo e se potete correggermi la logica se sbaglio.codice:public class TastiPrincipali { //istanzio degli oggetti Prodotti prodotto = new Prodotti(); public TastiPrincipali(){} public static Component BottoniStart(){ /*Rudimentale scelta*/ JPanel panInsert = new JPanel(); JButton bottoneInsertProdotto = new JButton("Inserire Prodotto"); LayoutManager layoutInsert = new FlowLayout(FlowLayout.LEFT); panInsert.setLayout(layoutInsert); panInsert.add(bottoneInsertProdotto); panInsert.add(bottoneInsertProdotto); return panInsert; } }
Nel primo pezzo di codice ho creato un Jframe, che sarà la finestra principale del mio applicativo.
poi ho creato il tasto di conferma per l'uscita del programma(in realtà ho preso solo 'spunto').
1- sarebbe meglio separare l'evento dell'uscita creando una classe apposta ?
Ho notato che potrei creare una classe per ogni evento dove al suo interno ci stano i metodi di quel specifico evento.
ne deduco che per ogni evento ci vorrà una classe corretto?
nella sezione colorta in rosso faccio un richiamo all'oggetto "BottoniStart()" della classe TastiPrincipali che ritorna il componente JLabel.
Vado a prendermi il componente e poi lo carico all'interno della mia finestra 'di lavoro'.
1-Posso agganciare un evento qualsiasi all'oggetto che poi verra richiamato all'interno del JFrame principale?
2-Se volessi potrei usare la stessa classe BottoniStart() (magari con un ciclo) per istanziare più bottoni?
Scusate le domande che per chi ci lavora sono semplici .... ma ripeto, la logica non si acquisisce senza comunicazione
Grazie, ciao


Rispondi quotando