- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我输入 TextField 7 字符时,光标自动移动到下一个 TextField。但在我的代码中,我的光标没有转到 nextField。(我知道我不能使用 addKeyListener,所以尝试使用 DocumentListener 来执行此代码)
lbltext1 = new JLabel("Text1");
panel.add(lbltext1, "cell 0 1,alignx trailing");
final int maxSize =7 ;
for (int i = 0; i < 1; i++) {
final JTextField txtText1 = new JTextField();
NavigationFilter filter = new NavigationFilter() {
@Override
public void setDot(FilterBypass fb, int dot, Bias bias) {
if (dot >= maxSize) {
fb.setDot(0, bias);
txtText1.transferFocus();
return;
}
fb.setDot(dot, bias);
}
@Override
public void moveDot(FilterBypass fb, int dot, Bias bias) {
if (dot >= maxSize) {
fb.setDot(0, bias);
txtText1.transferFocus();
return;
}
fb.moveDot(dot, bias);
}
};
txtText1.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent arg0) {
if (txtText1.getText().equals("")) {
txtDate.setText("");
} else {
SwingWorker<?, ?> job = new UIQuery();
job.execute();
}
}
});
txtText1.setNavigationFilter(filter);
((AbstractDocument) txtText1.getDocument()).setDocumentFilter(new DocumentSizeFilter(maxSize));
panel.add(txtText1, "cell 1 1,growx");
txtText1.setColumns(10);
}
JLabel lblText2 = new JLabel("Production Date");
panel.add(lblText2, "cell 0 2,alignx trailing");
txtText2 = new JTextField();
panel.add(txtText2, "flowx,cell 1 2,growx");
txtText2.setColumns(10);
txtText2.addFocusListener(new TextBoxGainedFocusEventSinglePreview());
txtText2.getDocument().addDocumentListener(new TextBoxDataChangedEventSinglePreview());
请指教我该如何修改。谢谢
最佳答案
因此,这是一个简单的概念证明,当字段的 Document
长度 > 6
时,它将焦点从当前组件移动到下一个组件
import java.awt.KeyboardFocusManager;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
public class Test {
public static void main(String[] args) {
new Test();
}
public Test() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
public TestPane() {
JTextField field1 = new JTextField(7);
JTextField field2 = new JTextField(7);
add(field1);
add(field2);
field1.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void insertUpdate(DocumentEvent e) {
if (e.getDocument().getLength() > 6) {
//field1.transferFocus();
KeyboardFocusManager.getCurrentKeyboardFocusManager().focusNextComponent();
}
}
@Override
public void removeUpdate(DocumentEvent e) {
}
@Override
public void changedUpdate(DocumentEvent e) {
if (e.getDocument().getLength() > 6) {
//field1.transferFocus();
KeyboardFocusManager.getCurrentKeyboardFocusManager().focusNextComponent();
}
}
});
}
}
}
当某些东西不起作用时,首先删除测试它不需要的所有内容(即DocumentFilter
和NavigationFilter
),让它以隔离状态工作一旦您知道它正在工作,就可以一次重新引入其他元素并确保不会出现任何问题。
DocumentSizeFilter
可能会干扰它,但我没有足够的上下文来 100% 确定
关于Java : Error in Cursor automatically move from one TextField to other,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42708824/
安装 Windows 服务时,有两个选项可用于在 Windows 启动时自动启动 Windows 服务。一种是自动,另一种是自动(延迟启动)。这两者具体有什么区别? 例如,如果您使用 wixtools
使用Xcode 4.2,如何启用/禁用“自动引用计数”? ANSWERED 在“构 build 置”下,根据是否要启用ARC翻转"is"和“否”。 最佳答案 全局范围内: 转到“构 build 置”,
在学习 PHP 中 Cookie 的概念时,我从 w3schools PHP Tutorial 中看到以下语句: The value of the cookie is automatically UR
在学习 PHP 中 Cookie 的概念时,我从 w3schools PHP Tutorial 中看到以下语句: The value of the cookie is automatically UR
我曾经有自动代码签名身份:iPhone Developer 在真实设备上进行测试(它与我的“开发”证书匹配)。 很快在我的目标设置中,我无法选择“iPhone 开发者”,而且我没有看到任何开发者证书,
当我编译这段代码时: class DecoratedString { private: std::string m_String; public: // ... constructs
我在 Kathy Sierra 的书中读到过: “局部变量有时称为堆栈、临时、自动或方法变量,但无论您使用什么,这些变量的规则都是相同的调用他们。” 为什么局部变量叫automatic? 最佳答案 当
复制代码 代码如下: Const OWN_PROCESS = &H10 Const ERR_CONTROL = &H2 Const INTERACTIVE = False
我有以下问题: 我需要在条形图中从最高到最低排序我的值: 我知道我可以使用数据透视表和数据透视图,但将来可能会有点复杂。 最佳答案 我建议通过使用帮助列来根据需要对数据进行排序来实现这一点。 C 列:
我本质上想创建一个每次都会执行的变量。举个最简单的例子: $myvar = `write-host foo`; 然后每次我引用 $myvar 时,它都会输出 foo: dir $myvar Direc
有人知道有一个实用程序可以自动检测并删除 uses 子句中不需要的单元吗? 最好是.. 可以针对一个单元和/或一个项目运行 免费且可与 Delphi 2010 配合使用 提前致谢。 最佳答案 尝试使用
在大多数情况下,当您阅读here时,IBOutlet应该很弱。 现在,您可以在development library中阅读,并非所有类都支持弱引用。 (例如NSTextView)。这意味着您必须使用a
只是一个简单的问题(我想)但是,假设我有以下数据文件: # no x data, it's sampled for instance each second. 23 42 48 49 89 33 39
我在以前工作的应用程序上用 RC 更新了 ASP.NET 5 框架 beta-8 包。在我让它运行后,启动过程中出现下一个错误: InvalidOperationException: No authe
我编写了一个Powershell脚本,该脚本应将服务设置为StatusType ='Automatic'。但是,当我运行脚本时,它实际上设置了StatusType ='Automatic(Delaye
我想知道 WPF 中是否有一种自动控制大小调整的功能。 我的意思是,一种根据用户屏幕分辨率自动调整元素大小的方法,而无需在代码中定义它。 谢谢。 最佳答案 首先,WPF 使用与设备无关的像素,这意味着
我正在从 bat 文件或 Python 文件调用外部程序 (fxTsUtf8.exe)。我浏览了数百个 sos 文件。在某些情况下,exe 文件可能会由于读取 sos 文件中的错误而失败。要继续执行
我想知道正在创建的这个线程(引用代码片段)是否会在完成其工作后在垃圾收集中自动终止。 我正在创建一个基本的聊天程序,以学习如何使用套接字、创建客户端和创建服务器。我很快发现,如果我希望能够从客户端发送
我目前正在修复一个 JSP 项目,它目前在 Tomcat 的 WEB-INF 文件夹中有一个看似随机的 .class 文件集合。作为简化这一点的一种方法,我计划从这些类中直接从 SVN 获取 .jav
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及
我是一名优秀的程序员,十分优秀!