- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果两个 jtextfield 为空或不为空,我将使用 keyReleased 来启用或禁用 jbutton。我在方法中放置了一些打印行语句,以在方法执行时查看 boolean 值。这些语句从未打印,导致我相信该方法没有被执行。 jbutton 应该在开始时处于禁用状态,直到在两个 Jtextfields 中输入文本然后启用 jbutton。
CalculateButton.addKeyListener(new KeyAdapter()
{
@Override
public void keyReleased(KeyEvent arg0)
{
// the two jtextfields being checked for length
boolean first = ipAddress.getText().length() > 0;
boolean secoundnd = borrowedBits.getText().length() > 0;
// print statements of the boolean values
System.out.println("IpAddress " + first);
System.out.println("borrowedBits" + secoundnd);
// if statements checking to see if the button should be enabled
or disabled after each key press.
if (ipAddress.getText().length() > 0 && borrowedBits.getText().length() > 0)
{
CalculateButton.setEnabled(true);;
}
if (ipAddress.getText().length() == 0 || borrowedBits.getText().length() == 0)
{
CalculateButton.setEnabled(false);;
}
}
最佳答案
The jbutton is supposed to start disabled until text is entered into both Jtextfields and then the jbutton is enabled
这里是一个使用 DocumentListener
的示例,它比为每个文本组件编写 if/else 语句要灵活得多。该解决方案更加通用,适用于任意数量的文本字段。
import java.awt.*;
import java.awt.event.*;
import java.util.List;
import java.util.ArrayList;
import javax.swing.*;
import javax.swing.event.*;
public class DataEntered implements DocumentListener
{
private JButton button;
private List<JTextField> textFields = new ArrayList<JTextField>();
public DataEntered(JButton button)
{
this.button = button;
}
public void addTextField(JTextField textField)
{
textFields.add( textField );
textField.getDocument().addDocumentListener( this );
}
public boolean isDataEntered()
{
for (JTextField textField : textFields)
{
if (textField.getText().trim().length() == 0)
return false;
}
return true;
}
@Override
public void insertUpdate(DocumentEvent e)
{
checkData();
}
@Override
public void removeUpdate(DocumentEvent e)
{
checkData();
}
@Override
public void changedUpdate(DocumentEvent e) {}
private void checkData()
{
button.setEnabled( isDataEntered() );
}
private static void createAndShowUI()
{
JButton submit = new JButton( "Submit" );
submit.setEnabled( false );
JTextField textField1 = new JTextField(10);
JTextField textField2 = new JTextField(10);
DataEntered de = new DataEntered( submit );
de.addTextField( textField1 );
de.addTextField( textField2 );
JFrame frame = new JFrame("SSCCE");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(textField1, BorderLayout.WEST);
frame.add(textField2, BorderLayout.EAST);
frame.add(submit, BorderLayout.SOUTH);
frame.pack();
frame.setLocationByPlatform( true );
frame.setVisible( true );
}
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
createAndShowUI();
}
});
}
}
关于java - keyReleased 未执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32443217/
我在创建此类时收到两个错误。第一个出现在: public class DisplayerDeluxe extends JPanel implements ActionListener, KeyList
如果两个 jtextfield 为空或不为空,我将使用 keyReleased 来启用或禁用 jbutton。我在方法中放置了一些打印行语句,以在方法执行时查看 boolean 值。这些语句从未打印,
编写一个程序,根据给出的指令绘制形状。这是说明。但是,每当我编译时,我都会收到消息 DrawShapes is not abstract and does not override abstract
我在捕获关键发布事件以阻止我的角色在我的游戏中行走时遇到了一点问题.. 我正在尝试这样做: switch (xev.type) { case Expose: {
我试图让我的角色左右移动,然后当你将手指从左或右箭头键上移开时停止,但不断发生的事情是他继续前进。这是我的按键: public void keyPressed(KeyEvent e) {
我正在尝试用java制作一个游戏,只是一个简单的平台游戏,但运行代码时遇到困难。我似乎无法从按键中得到任何响应。我认为唯一不能正常工作的是 keyPressed 和 keyReleased 函数。下面
我正在使用 JComboBox 从 SQL DB 中搜索查询。我想在输入字母时搜索查询。我正在使用 NetBeans IDE。这是自动代码。 srch.addKeyListener(new java.
我正在尝试制作两个能够在所有 4 个方向上移动的对象(向上、向下、向右、向左)。第一个对象应使用 W、S、D、A 控制 - 而第二个对象应使用向上、向下、向右、向左箭头控制,并且可以正常工作。 但是,
我正在使用 Java 制作 2D 游戏,并且有一个关键监听器来处理玩家 Action 和其他内容。大多数时候它工作得很好。然而,有时它会出现故障。例如,我将按住“A”键使角色向左移动,当我松开它时,角
正如标题所说,KeyRelease 事件在 Mac OS X 上的全屏模式下根本不会被触发(尚未测试 Linux/Windows,也可能被破坏)。 代码如下: sf::ContextSettings
当用户按下四个箭头键(或 wasd)时,我试图让角色在一个简单的框架上移动。只要按住箭头键,角色就应该继续移动,一旦用户释放按键,角色就应该停止移动。 在很大程度上,这是令人感动的。然而,当快速切换方
所以,我正在使用 swing,我需要找到一个干净的(非 CPU 占用方式)来在文本字段上引入延迟。基本上,用户将在该字段中输入一个数字,keyReleased() 事件会检查输入是否符合一些参数,然后
我想记录所有传入的按键事件,无论哪个窗口处于焦点或指针在哪里。我已经编写了示例代码,它应该捕获当前窗口的按键事件(见下文)。为了保持我的代码可读性,我只给出了焦点窗口的示例代码。由于我的最终目标是捕捉
我想用 python xlib 捕获 keydown 和 keyup 事件,但是当同时按下某些键时,keyup 事件会消失。 如果同时释放 2 个或更多键,则将有 2 个或更多按键事件,但只有 1 个
我正在制作一个简单的电子队列,但遇到了困难。 我想让管理员登录在按下某个键并单击“登录”按钮时弹出(有更好的方法吗?),所以我让该类实现 KeyListener。但是 keyPressed()、key
在 PC 上,我可以为 JTextField 添加 onKeyListener 来监听 keyReleased 事件。在 Android 上,我使用了 addTextChangedListener。
我有一个实现 KeyListener 的 KeyHandler 类。除了左箭头键和右箭头键之外的所有键都可以工作,它们记录为按下但从未释放(向上和向下箭头可以工作,就像所有其他键一样)。键监听器被添加
在下面的代码中,如果我使用 KeyRelease 绑定(bind)事件,那么在点击 return 键时会导致文本小部件中出现不需要的新行。但是,如果我使用 KeyPress 绑定(bind)事件,则不
当我尝试在 Tkinter Text 小部件上使用 KeyRelease 事件时,它有时在 event.char 中提供小写字符,但在文本小部件中显示大写字符。当我轻快地按下 Shift 按钮,然后按
当我按下某个键一段时间后,在 keyReleased 函数中,该键的背景颜色并没有恢复到原来的颜色。我做错了什么。如果您可以将我重定向到某个站点,该站点包含有关如何通过示例制作此类程序的教程,那将非常
我是一名优秀的程序员,十分优秀!