我试图制作一个可执行的JButton(将打开一个新窗口),选择单选按钮,并在特定范围内填充文本文件(文本字段应为1800到2013)。对于单选按钮,我现在做了一个默认选择,但是我无法弄清楚如何返回一个警告,指出应该填充文本字段(介于1800和2013之间的数字),如果存在,则运行该程序。

编辑:
因此,如果我的代码是:

JFrame ....
JPanel ....

JTextField txt = new JTextField();
JButton button = new JButton("run");
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
//Do things here
}
});
txt.addFocusListener(new FocusListener() {
      ....
}


如何使用ItemStateListener。我应该定义一个监听器,然后呢?

最佳答案

public void actionPerformed(ActionEvent e)
{
    String s = txt.getText();
    char[] cArr = s.toCharAray();
    ArrayList<Character> chars = new ArrayList<Character>();
    for (char c : cArr)
        if (c.isDigit())
            chars.add(c);
    cArr = new char[chars.size()];
    for (int i = 0;i<chars.size();i++)
        cArr[i] = char.get(i);
    s = new String(cArr);
    txtField.setText(s);
    if (s.equals(""))
    {
        // issue warning
        return;
    }
    int input = Integer.parseInt(s);
    if (input >=  1800 && input <= 2013)
    {
        // do stuff
    }
}


基本上,请在文本字段中读取字符串,从中删除所有非数字字符,并且只有在指定范围内才继续操作。

09-11 18:13
查看更多