繁体   English   中英

带有JComboBox的JTextField无法正常工作

[英]JTextField with JComboBox is not working properly

我希望当用户在JComboBox列表中选择“额外”时显示JTextField ,否则隐藏。 但是,当用户选择“额外”时,不会出现JTextField,但是如果我缩小窗口并再次放大它,它将出现。 这样做之后,它可以正常工作,只是第一次没有出现。 为什么会这样? 有什么解决办法吗?

这是我的代码:

getCmbJtocsv_C_8().addActionListener(new ActionListener() { 
   public void actionPerformed(ActionEvent e) {
   {

      input3 = (String)adaptor.getCmbJtocsv_C_8().getSelectedItem();
      adaptor.getTxtJtocsv_C_8().setVisible(false);

      if(input3.equals("extra")){
          adaptor.getTxtJtocsv_C_8().setVisible(true);
      }
}

我已经更改了字符串比较,但是我仍然得到相同的结果。

默认情况下,Swing组件的大小为(0,0)。 当包装框架或使框架可见时,组件的大小/位置由布局管理器确定。

因此,我想可能是因为您从不可见的文本字段开始,所以其父面板的大小不包括文本字段。 调整框架大小时,将显示文本字段,因为会重新计算其大小和面板的大小。

现在已计算出文本字段的大小,因此您可以根据需要切换可见性。

如果这样做无济于事 ,请发布一个SSCCE来演示问题。 即创建一个仅带有组合框和文本字段的框架来演示该问题。 将来,所有问题都应包含SSCCE,因为我们无法根据几行代码来猜测应用程序的上下文。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM