12. juni 2005 - 18:22Der er
8 kommentarer og 1 løsning
Nemmeste måde at sætte action på sin knap (swing)
Jeg ønsker mig en knap, som skal køre en metode i mit program. Er det virkelig nødvendigt at lave en ny klasse, der implementerer ActionListener, for at binde denne til knappen gennem addActionListener() ?
Kan det ikke gøres lettere uden at skulle implementere ActionListener? Knappen skal bare kalde en metode...
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
public class MultiButton extends JFrame implements ActionListener { JButton[] button; public MultiButton(int n) { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().setLayout(new GridLayout(5, n / 5)); button = new JButton[n]; for (int i = 0; i < button.length; i++) { button[i] = new JButton("Button " + (i + 1)); button[i].addActionListener(this); getContentPane().add(button[i]); } pack(); } public void actionPerformed(ActionEvent ev) { for (int i = 0; i < button.length; i++) { if (ev.getSource() == button[i]) { JOptionPane.showMessageDialog(null, "Number " + (i + 1)); } } } public static void main(String[] args) { MultiButton f = new MultiButton(20); f.show(); } }
Det er jo ikke ligefrem svært hvis du anvender den rigtige compiller:) Hvis du har en drag & drop mulighed til gui så prøv at dobbeltklikke på din knap.. så burde den selv oprette alt det nødvendige.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.