2016-12-13 18 views
0

Я пытаюсь подключить кнопку, чтобы сказать «Привет», когда мышь входит в нее и «Пока», когда мышь уходит. Я использовал события мыши с помощью MouseListener, но безрезультатно.Мышь введена, мышь вышла, меняя текст на кнопке на каждом событии

Я новичок в Java, и этот вопрос преследует меня последние 2 дня, и я просто не смог понять это. Любая помощь будет принята с благодарностью.

private abstract class HandlerClass implements MouseListener { 
} 

private abstract class Handlerclass implements MouseListener { 
    @Override 
    public void mouseEntered(java.awt.event.MouseEvent e) { 
     mousebutton.setText("Hi"); 
    } 

    @Override 
    public void mouseExited(java.awt.event.MouseEvent e) { 
     mousebutton.setText("Bye"); 
    } 
}           

ответ

0

Попробуйте вот так. Он работает для меня.

public class ChangeTextMouseEvent extends Frame 
{ 
static JButton btn; 
public ChangeTextMouseEvent() 
{ 
    setTitle("ChangeText"); 
    btn = new JButton("SSS"); 
    add(btn); 
    setVisible(true); 
    setBounds(0, 0, 100, 100); 
} 
public static void main(String[] args) 
{ 
    ChangeTextMouseEvent frame = new ChangeTextMouseEvent(); 
    btn.addMouseListener(new MouseAdapter(){ 
     @Override 
     public void mouseExited(MouseEvent e) 
     { 
      btn.setText("Bye"); 
     } 
     @Override 
     public void mouseEntered(MouseEvent e) 
     { 
      btn.setText("Hi"); 
     } 
    }); 
} 
} 
0

Часто бывает недостаточно обновлять компонент пользовательского интерфейса; вам также необходимо вызвать repaint действие.

Иными словами: здесь есть два «слоя». Первая - это «модель данных» (где какая-то кнопка знает о ее тексте); другой - фактический «графический контент». Более поздний появляется, как-то отображая первые части. Поэтому для того, чтобы ваши шансы были видны пользователю, необходимо устранить оба уровня.

См. here для некоторых примеров вокруг этого.

 Смежные вопросы

  • Нет связанных вопросов^_^