Проблема при использовании двух интерфейсов для класса в JAVA [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проблема при использовании двух интерфейсов для класса в JAVA [закрыто]

Сообщение Anonymous »

У меня проблема с интерфейсом, я создал класс и использовал два интерфейса: Key Listener и ActionListener, и я хотел использовать ActionListener в своем классе Timer таким образом>> Timer(10,this), Как я могу быть более В ключевом слове (this) указано, что я хочу, чтобы этот интерфейс ActionListener использовал это ключевое слово, когда я использовал два интерфейса для своего класса, возможно ли это вообще? если нет, то какова альтернатива????
как вы можете видеть в моем коде, я использовал KeyListener для перемещения моей первой метки влево и вправо, и она отлично работает, привязывая ее к кадру с помощью этой команды: this. addKeyListener (это); но для моей второй метки я попытался анимировать свою метку, используя класс таймера и используя эту команду, чтобы посвятить мой интерфейс прослушивателя действий таймеру: timer=new Timer(10,this); но это не работает. Думаю, причина в этом ключевом слове, и я хотел знать, к какому интерфейсу это относится??? и какое решение поможет моему таймеру сработать и переместить мою вторую метку???
public class MyFrame extends JFrame implements KeyListener,ActionListener{
JLabel label1=new JLabel();
JLabel label=new JLabel();
ImageIcon image=new ImageIcon("C:\\Users\\Fatta\\Desktop\\Images\\ball.png");
Timer timer;
int a=0;
int b=0;
int x=1;
int y=1;
int width=520;
int height=520;

MyFrame(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(width,height);
this.setLayout(null);
label.setBackground(Color.red);
label.setOpaque(true);
label.setBounds(350,400,130,30);
this.setLocationRelativeTo(null);
label1.setBounds(a, b, 120, 100);
label1.setIcon(image);
this.add(label1);
this.add(label);
timer=new Timer(10,this);
timer.start();
this.addKeyListener(this);
this.setVisible(true);
}

@Override
public void keyTyped(KeyEvent e) {
switch(e.getKeyChar()) {
case 'a': label.setLocation(label.getX()-20, label.getY());
break;
case 'd': label.setLocation(label.getX()+20, label.getY());
break;
}
}

@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub

}

@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub

}

@Override
public void actionPerformed(ActionEvent e) {
if (a>width-label1.getWidth()|| aheight-label1.getHeight()|| b

Подробнее здесь: https://stackoverflow.com/questions/790 ... ss-in-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»