Hallo Leute,
ich hab ein kleines Java Programm indem hab ich mehrere Events . Während aber ein Event ausgefüht wird soll er nicht mehr auf die anderen Events hören.
In diesem Fall auf den MouseListener während er den Component abarbeitet.
Der Teil in dem ich die Eventlistener hinzufüge und ausführe
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
import javax.swing.JComponent.*;
public class Eventhandling {
private JFrame rink;
private JButton clickme;
private KeyListener enter;
private RandomM randomCordinate = new RandomM(); // designed a new object from Random
private int z;
public Eventhandling(JFrame rink, JButton clickme){
this.rink = rink;
this.clickme = clickme;
test();
}
public void test(){
rink.addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e){
resize();
}
});
ActionListener click = new ActionListener() {
public void actionPerformed ( ActionEvent e ){
clickButton();
}
};
clickme.addActionListener ( click );
clickme.addMouseListener(new MouseAdapter (){
public void mouseEntered ( MouseEvent e ) {
enteredButton();
}
}
public void resize(){
System.out.println(" teste ");
if (rink.getWidth()<120 || rink.getHeight()<120) {
rink.setSize(120, 120);
}
int x = 0;
int y = 0;
clickme.setSize(100, 100);
x = randomCordinate.getNextInteger((rink.getSize().width)-118);
y = randomCordinate.getNextInteger((rink.getSize().height)-118);
clickme.setLocation( x, y);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
rink.setLocation( (d.width - rink.getSize().width ) / 2 , (d.height - rink.getSize().height) / 2);
}
public void clickButton(){
String[] optionen = { "Ja", "Nein"};
int n = JOptionPane.showOptionDialog(rink, "Sie haben " + z + " Versuche gebraucht wollen sie ihre Geschicklichkeit noch mal testen.", "Ergebnis",
JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, optionen, optionen[0] );
if ( n == JOptionPane.YES_OPTION){
z=0;
}
else{
System.exit(0);
}
}
public void enteredButton(){
int x = 0;
int y = 0;
z++;
x = randomCordinate.getNextInteger((rink.getSize().width)-118);
y = randomCordinate.getNextInteger((rink.getSize().height)-118);
clickme.setLocation( x, y);
}
}
ich hab ein kleines Java Programm indem hab ich mehrere Events . Während aber ein Event ausgefüht wird soll er nicht mehr auf die anderen Events hören.
In diesem Fall auf den MouseListener während er den Component abarbeitet.
Der Teil in dem ich die Eventlistener hinzufüge und ausführe
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
import javax.swing.JComponent.*;
public class Eventhandling {
private JFrame rink;
private JButton clickme;
private KeyListener enter;
private RandomM randomCordinate = new RandomM(); // designed a new object from Random
private int z;
public Eventhandling(JFrame rink, JButton clickme){
this.rink = rink;
this.clickme = clickme;
test();
}
public void test(){
rink.addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e){
resize();
}
});
ActionListener click = new ActionListener() {
public void actionPerformed ( ActionEvent e ){
clickButton();
}
};
clickme.addActionListener ( click );
clickme.addMouseListener(new MouseAdapter (){
public void mouseEntered ( MouseEvent e ) {
enteredButton();
}
}
public void resize(){
System.out.println(" teste ");
if (rink.getWidth()<120 || rink.getHeight()<120) {
rink.setSize(120, 120);
}
int x = 0;
int y = 0;
clickme.setSize(100, 100);
x = randomCordinate.getNextInteger((rink.getSize().width)-118);
y = randomCordinate.getNextInteger((rink.getSize().height)-118);
clickme.setLocation( x, y);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
rink.setLocation( (d.width - rink.getSize().width ) / 2 , (d.height - rink.getSize().height) / 2);
}
public void clickButton(){
String[] optionen = { "Ja", "Nein"};
int n = JOptionPane.showOptionDialog(rink, "Sie haben " + z + " Versuche gebraucht wollen sie ihre Geschicklichkeit noch mal testen.", "Ergebnis",
JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, optionen, optionen[0] );
if ( n == JOptionPane.YES_OPTION){
z=0;
}
else{
System.exit(0);
}
}
public void enteredButton(){
int x = 0;
int y = 0;
z++;
x = randomCordinate.getNextInteger((rink.getSize().width)-118);
y = randomCordinate.getNextInteger((rink.getSize().height)-118);
clickme.setLocation( x, y);
}
}
Zuletzt bearbeitet: