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...
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.