Как вызвать мерцание на ярлыках JTextField постоянно? - PullRequest
2 голосов
/ 30 октября 2010

Маленький фон: У меня есть JTextField с именем чтения. Он расположен на панели JFrame.

reading = new JTextField("waiting for entry");

Я пытаюсь изменить JTextField там, где он создает мигающий эффект. Появляется, а затем исчезает. Я хочу, чтобы предупредить пользователя о том, что ему нужно внимание.

Так есть ли способ, когда я в мгновение ока, иногда это пустая строка, иногда показывая «ожидание входа»:

reading.setText("           ");

reading.setText("Waiting for entry");

Есть предложения?

В том же классе у меня есть:

    public void test(){
    int delay = 300; //milliseconds
    ActionListener taskPerformer = new ActionListener() {
   public void actionPerformed(ActionEvent evt) {
        reading.setVisible(!reading.isVisible()); } };
    Timer ok = new Timer(delay, taskPerformer);
    ok.start();

и позвольте мне показать вам мой actionListener, когда чтение получает значение:

public class MyChangeAction implements ChangeListener{
    public  void stateChanged(ChangeEvent ce){
      int value_MAP = slider.getValue();
      String str = Integer.toString(value_MAP);
      reading.setVisible(true); // I just added this 
      reading.setText("     MAP "+ str+" mm Hg ");
}}

Так, где я могу набрать ok.stop (); или ok.cancel ();

1 Ответ

2 голосов
/ 30 октября 2010

Вы можете использовать Таймер и иметь

private class BlinkTask extends TimerTask
{
    public void run()
    {
        reading.setVisible(!reading.isVisible());
    }
}

зарегистрирован для запуска каждую секунду или около того.
Некоторые примеры: ссылка

...