Forum » Programiranje » java, Swing in vmesnik ActionListener
java, Swing in vmesnik ActionListener
marjan_h ::
Malo se igram z grafičnim uporabniškim vmesnikom,(Swing) pa me zanima če kdo ve; Kako ločiš dogodke med seboj?
Trenutno imam dva gumba, in ko kliknem prvega se izpiše "Kliknil si me", in ko drugega enako. Kako ločiš dogodka; Ko klikneš prvega je en dogodek, ko drugega drug.
Imam sledečo kodo:
Trenutno imam dva gumba, in ko kliknem prvega se izpiše "Kliknil si me", in ko drugega enako. Kako ločiš dogodka; Ko klikneš prvega je en dogodek, ko drugega drug.
Imam sledečo kodo:
import java.awt.*; import java.awt.event.*; import javax.swing.*; class Primer extends JFrame implements ActionListener{ JButton button1, button2; public Primer(){ super("Okno"); Container vsebnik = getContentPane(); vsebnik.setLayout(null); button1 = new JButton("Klik 1"); button2 = new JButton("Klik 2"); button1.addActionListener(this); button2.addActionListener(this); button1.setBounds(20, 20, 100, 40); button2.setBounds(140,20,100,40); vsebnik.add(button1); vsebnik.add(button2); } public void actionPerformed(ActionEvent e){ System.out.println("Kliknil si me"); } } public class SwingTest{ public static void main (String args[]){ JFrame frame = new Primer(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(500, 500); frame.setVisible(true); } }
Mavrik ::
Tipično se to naredi tak, da na vsakega daš drug ActionListener. Lahko pa tudi pogledaš ActionEvent.source v actionPerformed, sam to ti bo naredilo špagetasto kodo.
The truth is rarely pure and never simple.
marjan_h ::
Ne razumem čist dobr. Ali moram narediti nov class pa implementirat ActionListener, potem pa to uporabiti kot nov ActionListener, recimo kot ActionListener2?
Zgodovina sprememb…
- spremenil: marjan_h ()
marjan_h ::
Sedaj sem takole naredil, kot si rekel in dela.
Tisto, da pa daš drug ActionListener pa ne vem točno kaj si mislil.
public void actionPerformed(ActionEvent e){ if (e.getSource().equals(button1)) System.out.println("Kliknil si me"); else if(e.getSource().equals(button2)) System.out.println("Klikni si me drugic"); }
Tisto, da pa daš drug ActionListener pa ne vem točno kaj si mislil.
Mavrik ::
Drugo. Instanco. Objekta.
button1.addActionListener(new Actionlistener() { public void actionPerformed(ActionEvent e){ System.out.println("Aua!"); } }; button2.addActionListener(new Actionlistener() { public void actionPerformed(ActionEvent e){ System.out.println("Ma nehi no!"); } };
The truth is rarely pure and never simple.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [java] Osnovna vprašanjaOddelek: Programiranje | 2636 (1643) | killa bee |
» | 4 v vrsto [java pomoč]Oddelek: Programiranje | 1517 (1344) | Spura |
» | java pomoč, verjetno event handlerOddelek: Programiranje | 1062 (895) | Chandler258 |
» | [Java] ActionListener, ButtonOddelek: Programiranje | 1319 (1142) | fiction |
» | [Java] ZmešnjavaOddelek: Programiranje | 2078 (1583) | ]Fusion[ |