2

小背景:我有一个名为阅读的 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();

4

1 回答 1

2

您可以使用计时器并拥有

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

注册为每秒运行一次左右。
一些例子:链接

于 2010-10-29T22:14:36.707 回答