如何使文本字段在单击按钮时可见?
How to make text fields visible upon button click?
我有两个文本字段,在初始化表单时将它们设置为不可见。
我想要发生的是以下内容。
然后当按钮被点击时,它们就会像这样出现。
我试过在表单初始化时使文本字段不可见,然后在单击按钮时触发操作执行事件使文本字段再次可见。
import javax.swing.JFrame;
public class Weather extends javax.swing.JFrame {
public Weather() {
initComponents();
this.jTextField3.setVisible(false);
this.jTextField10.setVisible(false);
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
this.jTextField10.setVisible(true);
this.jTextField3.setVisible(true);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Weather().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
etc..
etc...
}
在 C# 中,这种使事物可见和不可见的方法有效,但相同的逻辑不适用于 java。单击按钮时没有任何反应。这两个文本字段只是保持不可见。
当我在初始化表单时不使文本字段不可见,并通过单击按钮的 actionevent 方法使它们在单击按钮时不可见时,它起作用了。
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
this.jTextField10.setVisible(false);
this.jTextField3.setVisible(false);
}
为什么我只能通过单击按钮使文本字段不可见,而不能通过单击按钮使文本字段可见?
这可能是因为 window 和 GUI 已经创建,按钮不可见。当您将它们设置为 visible true 时,它不知道如何重写它们。你可以试试:
this.revalidate(); //Here this being the jframe
this.repaint();
我有两个文本字段,在初始化表单时将它们设置为不可见。 我想要发生的是以下内容。
然后当按钮被点击时,它们就会像这样出现。
我试过在表单初始化时使文本字段不可见,然后在单击按钮时触发操作执行事件使文本字段再次可见。
import javax.swing.JFrame;
public class Weather extends javax.swing.JFrame {
public Weather() {
initComponents();
this.jTextField3.setVisible(false);
this.jTextField10.setVisible(false);
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
this.jTextField10.setVisible(true);
this.jTextField3.setVisible(true);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Weather().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
etc..
etc...
}
在 C# 中,这种使事物可见和不可见的方法有效,但相同的逻辑不适用于 java。单击按钮时没有任何反应。这两个文本字段只是保持不可见。
当我在初始化表单时不使文本字段不可见,并通过单击按钮的 actionevent 方法使它们在单击按钮时不可见时,它起作用了。
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
this.jTextField10.setVisible(false);
this.jTextField3.setVisible(false);
}
为什么我只能通过单击按钮使文本字段不可见,而不能通过单击按钮使文本字段可见?
这可能是因为 window 和 GUI 已经创建,按钮不可见。当您将它们设置为 visible true 时,它不知道如何重写它们。你可以试试:
this.revalidate(); //Here this being the jframe
this.repaint();