我希望在用户更改文本字段中的值后立即显示消息框.目前,我需要按Enter键才能弹出消息框.我的代码有什么问题吗?
textField.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if (Integer.parseInt(textField.getText())<=0){
JOptionPane.showMessageDialog(null,
"Error: Please enter number bigger than 0", "Error Message",
JOptionPane.ERROR_MESSAGE);
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激!
是否有可能Enter在java中输入JTextField 时检测到有人按下了什么?无需创建按钮并将其设置为默认值.
有没有办法只接受数字值JTextField
?这有什么特别的方法吗?
我想为我添加一个提示值javax.swing.JTextField
.它应该看起来像Firefox渲染<input type="text" title="bla">
.这将在背景中创建一个带有文本"bla"的编辑字段.如果文本框具有焦点,则标题文本将消失,如果用户离开编辑框而没有文本,则会再次出现.
有没有(免费)摆动组件做这样的事情?
我知道这个问题肯定已被问过并回答了一百万次,但我找不到一个简单的解决方案.我有一个JTextField,它只接受正整数作为输入.我需要一种方法来确保没有其他任何东西在这里输入.
我已经有一个keyListener附加到此控件.删除此侦听器要处理的其他代码,我有:
txtAnswer.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
/* Restrict input to only integers */
if (key < 96 && key > 105) e.setKeyChar('');
};
});
Run Code Online (Sandbox Code Playgroud)
如您所见,我正在尝试使用KeyCode来检查刚按下的键是否在整数范围内.这似乎有效.但我想要做的就是在条目超出此范围时忽略该条目.该代码e.setKeyChar('')
旨在处理此问题,但它不起作用.代码将编译,但它没有明显的效果.
任何人都可以告诉我,我是否走在正确的轨道上?有什么可以替代e.setKeyChar('')
它来使这项工作?还是我完全朝错误的方向走?
谢谢.
我让我的游戏没有鼠标运行所以使用指针不是一个选择.当玩家输球时,高分菜单会显示.
这是我的代码
highScore=new MyTextField("Your Name");
highScore.addKeyListener(this);
highScore.setFont(font);
highScore.requestFocusInWindow();
Run Code Online (Sandbox Code Playgroud)
我试过了
highScore.setFocusable(true);
highScore.requestFocusInWindow();
highScore.requestFocus(true);
highScore.requestFocus();
Run Code Online (Sandbox Code Playgroud)
但仍然没有把重点放在我的身上JTextField
.
如何关注它?
我想设置a的最大长度JTextField
,这样就不能输入超过限制的字符数了.这是我到目前为止的代码......
textField = new JTextField();
textField.setBounds(40, 39, 105, 20);
contentPane.add(textField);
textField.setColumns(10);
Run Code Online (Sandbox Code Playgroud)
有没有简单的方法来限制字符数?
我有一个通过AbstractTableModel填充链表的Jtable.
我想要做的是当我点击(左键单击)JTable中的一行时,链表是搜索(在这种情况下它包含电影标题)并在Jtextboxes中的链表中显示值
我该怎么做呢?
这是代码
我猜它会将所选行中的数据检索到一个数组中,将其拆分并放入jtextareas中.我怎样才能做到这一点 ?
我最近遇到了Java JTextField的一个奇怪问题.当我运行以下代码(见下文)时,在文本字段中键入"0"首先发送粘贴操作,然后键入"0".例如,如果将"text"复制到剪贴板,则在键入"0"时键入"text0".类似地,键入"4"会将前一个字符替换为"4"(我猜这是一个删除操作,然后键入"4").键入"7"会在键入"7"之前清除文本字段.
这是代码:
import javax.swing.JFrame;
import javax.swing.JTextField;
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame();
JTextField text = new JTextField();
frame.add(text);
frame.setSize(500, 500);
frame.setVisible(true);
}
}
Run Code Online (Sandbox Code Playgroud)
问题出在Red Hat Linux上(使用Windows XP中的VNC访问); 一切都在Window XP上按预期运行.
更新:Ubuntu上的程序也没有问题.我也尝试过使用不同的键盘和VNC观众.
更新2:Java版本
对于红帽:
java version "1.6.0_17"
OpenJDK Runtime Environment (IcedTea6 1.7.7) (rhel-1.17.b17.el5-x86_64)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
Run Code Online (Sandbox Code Playgroud)
对于XP:
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) Client VM (build 23.1-b03, mixed mode, sharing) …
Run Code Online (Sandbox Code Playgroud) 所以我知道这是一个很受欢迎的问题,已经找到了解决方案.但是,当我尝试这个时,它无法正常工作.
我的JTextField为空,并且未启用该按钮.当我在文本字段中写东西时,按钮不会启用.
所以我的程序应该每秒检查一次该字段是否为空.只要有人在文本字段中写入内容,就应该启用该按钮.^^
loginbt = new JButton("Login");
loginbt.addActionListener(new loginHandler());
add(loginbt);
if(name.getText().equals("")) {
loginbt.setEnabled(false);
}else {
loginbt.setEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)