Java多线程:如何将1个jtextfield中的文本同时添加到另一个jtextfield中,并在jtextfield中没有输入文本时禁用jbutton
这是打开窗口时的事件 当JForm打开时,就会发生这种情况 我只是想让这个功能就像在stackoverflow中添加一个问题一样 编辑器并在编辑器下方同时显示更新的内容Java多线程:如何将1个jtextfield中的文本同时添加到另一个jtextfield中,并在jtextfield中没有输入文本时禁用jbutton,java,multithreading,swing,Java,Multithreading,Swing,这是打开窗口时的事件 当JForm打开时,就会发生这种情况 我只是想让这个功能就像在stackoverflow中添加一个问题一样 编辑器并在编辑器下方同时显示更新的内容 private void formWindowOpened(java.awt.event.WindowEvent evt) { Thread t1 = new Thread(); t1.start(); } 这是主要的方法
private void formWindowOpened(java.awt.event.WindowEvent evt) {
Thread t1 = new Thread();
t1.start();
}
这是主要的方法
public static void main(String args[]) {
Thread t1 = new Thread(
() -> {
// DEMO is the Name of JForm
DEMO d = new DEMO();
// Text1 is the first jtextfeild
String x = d.Text1.getText();
if (x.isEmpty()) {
//ButtonAdd is the jbutton in JFrom
d.ButtonAdd.setEnabled(false);
} else {
// Text2 is the Second jtextfeild
d.Text2.setText(x);
d.ButtonAdd.setEnabled(true);
}
}
);
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new DEMO().setVisible(true);
}
});
}
在初始化时禁用按钮add,并将以下侦听器添加到d.Text1
new TextFieldChangeListener(tf)
{
public abtract void onChange(String oldText, String newText)
{
d.Text2.setText(newText);
if(newText.isBlank())
{
d.ButtonAdd.setEnabled(false);
}
else
{
d.ButtonAdd.setEnabled(true);
}
}
};
在初始化时禁用按钮add,并将以下侦听器添加到d.Text1
new TextFieldChangeListener(tf)
{
public abtract void onChange(String oldText, String newText)
{
d.Text2.setText(newText);
if(newText.isBlank())
{
d.ButtonAdd.setEnabled(false);
}
else
{
d.ButtonAdd.setEnabled(true);
}
}
};
1) 你不需要一个新的线程。您需要一个
DocumentListener
。看看这个基本上你在第一次显示按钮时禁用它,并监听在JTextField
中键入的任何键,如果键入了什么,你就启用按钮。2) d.Text1.getText()
让我觉得您使用的是静态组件,这可能会给您带来更多麻烦,而不是解决方案。请参阅:它允许您在一个或多个文本字段中添加文本时启用按钮。1)您不需要新的线程。您需要一个DocumentListener
。看看这个基本上你在第一次显示按钮时禁用它,并监听在JTextField
中键入的任何键,如果键入了什么,你就启用按钮。2) d.Text1.getText()
让我觉得您使用的是静态组件,它可能给您带来的麻烦多于解决方案。请参阅:它允许您在一个或多个文本字段中添加文本时启用按钮。好的,我会检查它确定我会检查它