Utilizzare un JButton in Java Swing
- Home page »
- Programmazione »
- Java »
- Tips
Il button o pulsante grafico è sicuramente tra i controlli più utilizzati nelle
interfaccie grafiche dove riveste un ruolo importante nel processo di iterazione con l'utente.
In java questo controllo grafico è implementato dalla classe javax.swing.JButton.
Questa classe rappresenta una realizzazione semplice dell' AbstractButton, in quanto altri controlli grafici appartengono a
questa categoria come JMenuItem oppure JCheckBox che ereditano la stessa classe.
Un JButton può visualizzare al suo interno, un testo oppure un'immagine, infatti implementa diversi tipi di costruttori. Vediamone una semplice realizzazione creando un contesto dove includere il JButton composto da un JFrame (container) con un JPanel:
Un JButton può visualizzare al suo interno, un testo oppure un'immagine, infatti implementa diversi tipi di costruttori. Vediamone una semplice realizzazione creando un contesto dove includere il JButton composto da un JFrame (container) con un JPanel:
import javax.swing.JButton; ... JButton button = new JButton("Click"); ... JFrame frame = new JFrame("JButton Demo"); JPanel panel = new JPanel(); panel.add(button); frame.getContentPane().add(panel); frame.pack(); frame.setVisbile(true);
... String path="..."; ImageIcon icon = new ImageIcon(path); JButton button = new JButton(icon); ...
- setBackground(Color c) e setForeground(Color c): cambiare rispettivamente il colore di sfondo e del testo
- setFont(Font f):cambiare il font del testo
- setTooltipText(String text):associare un testo al tooltip, cioè quel testo che viene visualizzato quando ci si sofferma con il puntatore del mouse su un oggetto grafico
- setEnabled(boolean flag): abilita (true) o disabilita (false) il pulsante
Gestire le azioni
Gli esempi che abbiamo visto implementano un pulsante che in questo caso è passivo cioè non svolge nessuna funzione. Adesso vediamo come associare un'azione al pulsante utilizzando l'interfaccia ActionListener. Quest'interfaccia definisce un solo metodo actionPerformed(ActionEvent evt) che ad ogni click sul pulsante viene invocato per generare un evento. Quindi l'unica cosa che bisogna fare è implementare l'interfaccia specificando le azioni da compiere e registrarlo nel JButton (addActionListener()) . In questo caso facciamo in modo che ad ogni click sul pulsante viene incrementato un contatore e visualizzato nel pulsante stesso:class CountClickButton implements ActionListener { int count = 1; public void actionPerformed(ActionEvent e) { //Estraiamo il pulsante che ha generato l'evento JButton button = (JButton)e.getSource(); button.setText("Click "+count);//Aggiorniamo il testo count++; } } ... JButton button = new JButton("Click 0"); button.addActionListener(new CountClickButton()); ...
Altri link che potrebbero interessarti
» Utilizzare HTML in componenti Java Swing » Numeri casuali in java » Modalità Full Screen Exclusive in java » Leggere un file di testo in java » Le variabili atomiche in java » Le classi anonime » Java Regex » Java Database MySql » Java Cursor Mouse » Import Static Java » Implementare un Singleton » Implementare un KeyListener in java Swing » Implementare il System.out su una JTextArea » Il costrutto if in java » Il costrutto foreach in java » Il blocco static » Creare una ToolBar in Java Swing » Chiudere le applicazioni Java Swing » Bordo con titolo in Java Swing » Background Image per componenti Java Swing