- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 JFrame 中有 2 个文本字段,当焦点从 textfield1 丢失时,我想验证 textfield1 中的数据。因此,我在 FocusLost()
方法中使用了 FocusListener
并使用了 showMessageDialog()
,然后将焦点设置回 textfield1。当我点击 JFrame 窗口内除 textfield1 以外的任何组件时它工作正常,但是当我点击 JFrame 窗口外的任何地方时,showMessageDialog()
被调用两次 并且焦点转到 textfield2,而焦点应保留在 textfield1 上。
@Override
public void focusGained(FocusEvent e) {}
@Override
public void focusLost(FocusEvent e) {
boolean show = false;
String theRegex = "[0-9]";
Pattern checkRegex = Pattern.compile(theRegex);
Matcher regexMatcher = checkRegex.matcher( MemberID );
while ( !regexMatcher.find() && show==false){
JOptionPane.showMessageDialog(null,"Please enter numbers","Validation Error",JOptionPane.ERROR_MESSAGE);
MemberID_Text.requestFocusInWindow();
MemberID_Text.selectAll();
show = true;
}
}
最佳答案
你可以这样做来验证是否输入了数字,并避免使用正则表达式
class IntVerifier extends InputVerifier {
@Override public boolean verify(JComponent input) {
String text =((JTextField) input).getText();
int n = 0;
try {
n = Integer.parseInt(text); }
catch (NumberFormatException e) {
return false;
}
return true;
}
}
然后在文本字段上使用输入 validator
IntVerifier intv = new IntVerifier();
myTextField = new JTextField();
myTextField.setInputVerifier(intv);
关于java - showMessageDialog() 在 FocusListener 中被调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13355398/
我目前正在研究我们小组第一学期考试项目的 GUI 部分,我遇到了一个关于回调和事件处理的奇怪问题。 有点偏离主题:我已经用谷歌搜索了这个问题,但确实找不到任何在 Java 中使用回调的具体示例,所以从
我正在尝试将 focusListener 添加到 JDateChooser,以便当用户选择 dateOfBirth 时,当焦点丢失时,它会在文本字段上显示年龄。但它不起作用这是我尝试过的方法, 导入j
我有一个 JFrame,我想在用户单击它时将其关闭。我有两个 JTextFields 和一个 JButton(用户名、密码、提交)。当我为他们提供所有 FocusListener 时,只要用户从一个字
我必须扩展一些代码来实现一个 ActionListener,该监听器使用 ActionCommands 来获取有关触发 ActionEvent 的组件所属对象的更多信息。 同一段代码现在还应该实现 F
我在 JFrame 中有 2 个文本字段,当焦点从 textfield1 丢失时,我想验证 textfield1 中的数据。因此,我在 FocusLost() 方法中使用了 FocusListener
我一直在研究有关 JInternalFrames 的各种问题,并尝试按照建议实现代码,但我似乎做错了一些事情。我在这里包含的代码将演示我的问题。三个框架已创建,但当您单击并移动它们时,它们不会按预期到
有一个 SWT 文本框。我正在为其设置默认文本。 设置焦点监听器,以便当焦点位于文本框上时,删除默认文本。 设置验证监听器以确保仅输入字母。 但是,当焦点设置在文本框上时,文本不会设置为空。是什么导致
在我的代码中,当我尝试将 FocusListener 添加到 JTextField 时,它说 ChatClient.java:30: error: incompatible types: ChatCl
我有一个文本字段,我必须在其中验证电子邮件。我的问题是,我只想在电子邮件有效时将焦点从文本字段移开。我现在使用 FocusAdapter。有人可以给我一些其他的想法吗? 最佳答案 参见javax.sw
我有 JTextField。我需要保存更改,如果用户在其中写了一些东西然后失去了焦点(比如点击其他地方) mMaxLabelLength = new JTextField(); mMaxLabelLe
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; import java.ne
我创建了一个使用 FocusListener 来确保文本字段的值始终为正的应用程序。当用户输入负值,然后单击“tab”键将焦点从文本字段移开时,该值将乘以-1,从而得到正值。但是,当我运行该应用程序时
一些背景:我是一个相当有经验的 C++ 程序员,但我目前正在自学 Java。 我有一个包含多个 JTextField 的应用程序,我希望在单击某个字段时突出显示该字段的内容。我知道我可以为每个人编写一
我有以下代码: Display display = new Display(); Shell shell = new Shell(display); s
首先:抱歉,我无法提供 SSCCE。我试图在一个小项目上重现这个问题,但没有成功,或者我应该说成功了,因为它在那里工作! 所以这是我的问题:我有一个可编辑的 JCombobox,它应该通过单击编辑器组
此问题出现在my last question here之后。我想将每个按钮聚焦和失去焦点背景设置为主菜单(ContentPane 即 JPanel)下方的背景颜色,因此按钮看起来像选项卡。它在不同的环
我有一个文本框,我想在文本框获得焦点时显示一个对话框。所以我写了以下代码。但是当对话框被处理后,对话框会再次出现。我尝试使用换行符进行调试和检查。那次它不会执行多次,但在正常模式下它会执行多次,因此对
因此,当我单击 JTextfield 中的一个时,我想setText一个名为value的字符串。我读到有关将 FocusListener 添加到 JTextField 的内容,但找不到有关将其添加到
我有两个实现 KeyListener 和 FocusListener 接口(interface)的类。两者都不起作用,但如果我不通过注释或删除以下内容来添加 JButton:add(whiteJBut
我的 Java 应用程序中有数百个 JTextFields,我想在所有这些上添加 FocusListener 以设置文本的水平对齐并在每个文本字段上添加 FocusListener。所以,我做了这个方
我是一名优秀的程序员,十分优秀!