我尝试了很多方法,但仍然不起作用。我试图捕捉JTextfield中是否有数字,它将使字符串文本变为红色,并弹出该选项。但我的代码只有在两个JTextfield中都有数字时才会被捕获。我希望我的JTextField只有字符和空格。
(jtf2和jtf3是JTextField)
if(ae.getSource() == bcreate) // create
{
String firstname;
String lastname;
String id;
firstname = jtf2.getText();
lastname = jtf3.getText();
try
{
Integer.parseInt(jtf2.getText());
jtf2.setForeground(Color.RED);
Integer.parseInt(jtf3.getText());
jtf3.setForeground(Color.RED);
JOptionPane.showMessageDialog(null, "Please enter valid character","ERROR",JOptionPane.ERROR_MESSAGE);
}
catch(NumberFormatException w)
{
create(firstname, lastname);
jtf3.setForeground(Color.black);
jtf2.setForeground(Color.black);
id = Integer.toString(e.length);
current = Integer.parseInt(id);
jta.setText("Employee #" + id + " " + firstname + " " + lastname + " was created.");
}
}
这不是检查代码中数字的正确方法。异常是针对异常条件的。这里我们正在利用它并在异常中运行主代码。相反,您应该使用正则表达式检查文本是否包含任何数字。如下所示:
String firstname = jtf2.getText();
String lastname = jtf3.getText();
String id;
boolean isInvalidText = false;
if(firstname.matches(".*\\d.*")) {
jtf2.setForeground(Color.RED);
isInvalidText = true;
}
if(lastname.matches(".*\\d.*")) {
jtf3.setForeground(Color.RED);
isInvalidText = true;
}
if(isInvalidText) {
JOptionPane.showMessageDialog(null, "Please enter valid character","ERROR",JOptionPane.ERROR_MESSAGE);
} else {
create(firstname, lastname);
jtf3.setForeground(Color.black);
jtf2.setForeground(Color.black);
id = Integer.toString(e.length);
current = Integer.parseInt(id);
jta.setText("Employee #" + id + " " + firstname + " " + lastname + " was created.");
}
问题内容: 例如,需要使用 字符串找出只读取字符串中 数字 的方法, 即 我的尝试 问题答案: 试试这个: 由于返回的是文本数组,因此您应该通过来访问第一个元素。
问题内容: 如何限制在JTextField中输入的字符数? 假设我要输入最多5个字符。此后,不能输入任何字符。 问题答案: 然后 (谷歌的第一个结果)
问题内容: 请看下面的代码。 在这里,我试图将字符数限制为5。好,当达到5时,它将不再插入任何字符,但实际情况是,它也不允许删除插入的字符,进行替换或其他操作。如何解决这个问题? 问题答案: 只需更改您当前的删除方法: 为此: 现在应该可以了。
我从S3下载一个文件,如下所示: 就目前而言,它总是有效的。但是,我想添加一些错误处理。如果下载失败,我如何检查或获取错误消息。我怎么知道出了什么事? boto3是否提供任何错误处理功能? 我读到:检查S3下载是否成功完成,但我正在寻找替代方案。
问题内容: 我想设置一个最大长度,以使你输入的字符不能超过限制。这是我到目前为止的代码… 有什么简单的方法可以限制字符数? 问题答案: 你可以执行以下操作(从此处获取): 编辑:看看这个以前的SO职位。你可以拦截按键事件,并根据文本字段中的当前字符数添加/忽略它们。
我试图解决这个问题,我需要根据数字在控制台上打印true或false(如果数字是素数,则为true,如果不是素数,则为false)。我似乎有解决方案,但我知道有一个错误的地方,因为我得到不同的答案,如果我改变布尔值的2个是素数变量。 这里有一个问题:如果num是素数,则返回true,否则返回false。 我的代码: