gpt4 book ai didi

Java - setVisible 仅在点击屏幕后有效

转载 作者:行者123 更新时间:2023-11-29 05:01:39 27 4
gpt4 key购买 nike

我有一个带有 jcheckbox 和 jtextfield 的 jframe(它有更多组件)。

我将标签设置为 setVisible(false),当复选框被选中时,它应该使标签可见。它确实如此,但您只能在单击框架上的其他任何地方之前看不到它。

部分代码如下:

jTextField17 = new javax.swing.JTextField();
jTextField17.setText("Quantas?");
jTextField17.setVisible(false);
jTextField17.setMinimumSize(new java.awt.Dimension(52, 20));


jCheckBox1 = new javax.swing.JCheckBox();
jCheckBox1.setBackground(new java.awt.Color(153, 255, 153));
jCheckBox1.setText("Cabecinhas");
jCheckBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jCheckBox1ActionPerformed(evt);
}
});


private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) {
if (jCheckBox1.isSelected()){
jTextField17.setVisible(true);
}else{
jTextField17.setVisible(false);
}
}

我认为代码没有任何问题。

总结:

用户点击复选框。复选框被标记,似乎没有其他事情发生。用户单击屏幕上的任意位置(选中复选框后),然后出现文本字段。

我使用的是 netbeans GUI 编辑器。我想展示整个代码,但它有 3000 多行。如果你需要看更多,问我你需要什么部分,我会在这里编辑。感谢您阅读本文,更感谢您提供帮助。

最佳答案

尝试使用 this.repaint();this.revalidate();

private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
if (jCheckBox1.isSelected()){
jTextField17.setVisible(true);
this.repaint();
this.revalidate();

}else{
jTextField17.setVisible(false);
}
}

关于Java - setVisible 仅在点击屏幕后有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31947581/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com