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