老实对如何将Swing Timers应用于我的程序感到困惑,有人可以看看吗?

独奏精神

我正在阅读有关Swing计时器的信息,该示例看上去确实不像我尝试执行的操作,因此我发现将其应用于我的程序在逻辑上令人困惑。我开始认为我什至不需要计时器。

这是我正在尝试做的事情:

我正在制作一个让用户在JTextField中输入信用卡号的JFrame程序。在他们执行此操作之前,有一个JLabel会说“请在文本字段中输入您的号码”,然后在他们将其输入字段中并按Enter键后,根据我的代码确定卡号是有效还是无效, JLabel将更改为“无效”或“谢谢您,正在处理”。

但是,我没有找到一种方法来使它更改基于文本的内容,它似乎与我最初给它提供的任何文本都一样。

那么有人可以看看我的代码并将其更改为符合我的要求吗?那太好了。你们在过去一直很有帮助。

public class CreditGraphics {

    public String cardNum;
    public JFrame frame;
    public JPanel panel;
    public JLabel label;
    public JTextField text;
    public Timer timer;

    public CreditGraphics() {
        frame = new JFrame("HI");
        panel = new JPanel();
        label = new JLabel();    
        text = new JTextField(16);    
        panel.add(label);
        panel.add(text);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        panel.setPreferredSize(new Dimension(500, 500));
        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true); 
        label.setText("Hi");          
        label.setText("Hello");
        text.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                cardNum = text.getText();
                timer = new Timer(2000,this);
                timer.setInitialDelay(1000);
                timer.start();
            }                
        });
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new CreditGraphics();

               }
        });
    }

    public void checkCard(){       

    }        
}
充满鳗鱼的气垫船

您的Timer的ActionListener遇到一些主要问题,因为它向其自身添加了匿名内部ActionListener对象(this即Timer的构造函数中的对象)因此,它将调用由启动计时器的JButton调用的计时器内部相同的actionPerformed -非常令人困惑。如果您的程序需要一个Timer,则最好确保为其提供自己的ActionListener,而不要像现在那样将其添加到JButton中。

最重要的是,您是否还需要一个Swing计时器?我不这么认为,因为您似乎不希望每隔xxx毫秒重复执行一次操作,或者不希望在xxx毫秒后重复执行一次操作,并且您只想更改文本即可。我建议您只需要在匿名内部ActionListener类中更改JLabel的文本,然后就可以了。如果您的要求不同,那么您将需要澄清并扩大您的问题。

因此,在半伪代码中,如下所示:

public void actionPerformed(ActionEvent e) {
  String userText = text.getText();
  if (testIfTextValid(userText)) { // some method to test if input OK
    label.setText(INPUT_VALID);  // String constant for JLabel to display

    // here pass the userText to other parts of your code that needs to use it

  } else {
    label.setText(INPUT_INVALID);
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有人可以解释如何将Yii最小化资产应用于Heroku吗?

来自分类Dev

在IPython中,将`id`应用于方法总是不同的。有人可以解释这种奇怪的行为吗?

来自分类Dev

有人可以帮我将js'this'关键字应用于迭代的jq select表达式

来自分类Dev

我想在我的Web应用程序中包含OTP模块,有人可以解释如何开始吗?

来自分类Dev

将CSS样式应用于我的角度应用程序中的所有Primeng对话框

来自分类Dev

如何将应用程序审查委员会建议的修复程序应用于我的应用程序?

来自分类Dev

如何将汉宁功能应用于我的音频样本?

来自分类Dev

如何将IBM CPLEX应用于我的iOS项目?

来自分类Dev

Java,我可以将任意接口应用于现有类吗?

来自分类Dev

我可以告诉nvcc将#pragma展开应用于函数中的所有循环吗?

来自分类Dev

我可以将Neumorphism效果应用于QWidget吗?

来自分类Dev

我可以将`tmux`应用于bash脚本吗?

来自分类Dev

如何指定 if 条件以便我可以将函数应用于我的数据帧的子集(即 if 语句)?

来自分类Dev

如何将元类应用于我的所有类而无需在类声明中对其进行硬编码

来自分类Dev

无法将Bootstrap类应用于我的EditorFor

来自分类Dev

如何将控制台应用程序转换为SWING框架?

来自分类Dev

有人可以教我如何为简单的登录应用程序使用属性文件

来自分类Dev

对继承感到困惑,有人可以帮助我吗?

来自分类Dev

如何将AND应用于列表的所有元素?

来自分类Dev

如何将AND应用于列表的所有元素?

来自分类Dev

如何将= If应用于现有公式?

来自分类Dev

如何将程序中的变量分配给Swing中的图标?

来自分类Dev

有人可以请ELI5如何将Unity桌面安装到我的Windows 8.1安装中吗?

来自分类Dev

我可以在没有for循环的情况下将函数应用于Pandas数据框中的多个列吗?

来自分类Dev

是否有人将juju用于关键任务应用程序?

来自分类Dev

如何将图片保存在特定文件夹中仅用于我的应用程序(正确)?

来自分类Dev

我可以将 Firebase 用于只有数据库操作的应用程序吗?

来自分类Dev

有人可以看看我的代码,看看我做错了什么吗?

来自分类Dev

如何将一个libgdx应用程序正确放置在swing应用程序中?

Related 相关文章

  1. 1

    有人可以解释如何将Yii最小化资产应用于Heroku吗?

  2. 2

    在IPython中,将`id`应用于方法总是不同的。有人可以解释这种奇怪的行为吗?

  3. 3

    有人可以帮我将js'this'关键字应用于迭代的jq select表达式

  4. 4

    我想在我的Web应用程序中包含OTP模块,有人可以解释如何开始吗?

  5. 5

    将CSS样式应用于我的角度应用程序中的所有Primeng对话框

  6. 6

    如何将应用程序审查委员会建议的修复程序应用于我的应用程序?

  7. 7

    如何将汉宁功能应用于我的音频样本?

  8. 8

    如何将IBM CPLEX应用于我的iOS项目?

  9. 9

    Java,我可以将任意接口应用于现有类吗?

  10. 10

    我可以告诉nvcc将#pragma展开应用于函数中的所有循环吗?

  11. 11

    我可以将Neumorphism效果应用于QWidget吗?

  12. 12

    我可以将`tmux`应用于bash脚本吗?

  13. 13

    如何指定 if 条件以便我可以将函数应用于我的数据帧的子集(即 if 语句)?

  14. 14

    如何将元类应用于我的所有类而无需在类声明中对其进行硬编码

  15. 15

    无法将Bootstrap类应用于我的EditorFor

  16. 16

    如何将控制台应用程序转换为SWING框架?

  17. 17

    有人可以教我如何为简单的登录应用程序使用属性文件

  18. 18

    对继承感到困惑,有人可以帮助我吗?

  19. 19

    如何将AND应用于列表的所有元素?

  20. 20

    如何将AND应用于列表的所有元素?

  21. 21

    如何将= If应用于现有公式?

  22. 22

    如何将程序中的变量分配给Swing中的图标?

  23. 23

    有人可以请ELI5如何将Unity桌面安装到我的Windows 8.1安装中吗?

  24. 24

    我可以在没有for循环的情况下将函数应用于Pandas数据框中的多个列吗?

  25. 25

    是否有人将juju用于关键任务应用程序?

  26. 26

    如何将图片保存在特定文件夹中仅用于我的应用程序(正确)?

  27. 27

    我可以将 Firebase 用于只有数据库操作的应用程序吗?

  28. 28

    有人可以看看我的代码,看看我做错了什么吗?

  29. 29

    如何将一个libgdx应用程序正确放置在swing应用程序中?

热门标签

归档