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 | 2695 (1702) | killa bee |
» | 4 v vrsto [java pomoč]Oddelek: Programiranje | 1579 (1406) | Spura |
» | java pomoč, verjetno event handlerOddelek: Programiranje | 1093 (926) | Chandler258 |
» | [Java] ActionListener, ButtonOddelek: Programiranje | 1340 (1163) | fiction |
» | [Java] ZmešnjavaOddelek: Programiranje | 2111 (1616) | ]Fusion[ |