【发布时间】:2026-01-05 20:25:01
【问题描述】:
我正在阅读有关 Swing Timers 的内容,该示例看起来与我尝试做的完全不同,因此我发现将其应用于我的程序在逻辑上令人困惑。 我开始认为我什至不需要为此设置计时器。
这是我想要做的:
我正在制作一个让用户在 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(){
}
}
【问题讨论】:
-
我想总比不诚实的困惑好。
-
Jarod -- 不是重复的,因为这个问题的答案是他真的不需要摇摆计时器。
标签: java swing timer actionlistener