小背景:
我有一个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();

最佳答案

您可以使用Timer并具有

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


注册以每秒运行一次。
一些示例:link

关于java - 如何连续引起JTextField标签闪烁?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4056251/

10-12 20:41