我在Netbeans中设计了一个JFrame,如下图所示:
当我运行该程序时,组合框变为全白色,如下图所示:
并且..当我单击“白色”空间时,它会显示组合框中可以选择的项目..但即使在选择之后,它仍然是相同的白色空间,没有正确显示布局,并且所选项目。
我的代码如下:
public class LoginWindow extends javax.swing.JFrame {
/**
* Creates new form LoginWindow
*/
public LoginWindow() {
initComponents();
setLocationRelativeTo(null);
new MyWorker().execute();
}
..........
Worker类如下:
class MyWorker extends javax.swing.SwingWorker<String, Void> {
protected String doInBackground() {
databaseCheck();
return "done";
}
protected void done() {
progressPanel.setVisible(false);
loginPasswordField.setEnabled(true);
locationComboBox.setEnabled(true);
loginButton.setEnabled(true);
loginPasswordField.requestFocusInWindow();
}
}
必须指出的是,这种行为大多是有经验的,尽管有时它工作得很好(很少)......任何帮助将不胜感激。
最佳答案
我似乎只是在尝试发布 SSCCE 时修复了它..
框架上可见的实际组件大小是 [256, 29].. 而 PreferredSize 不同,这似乎导致了问题。
locationComboBox.setPreferredSize(new java.awt.Dimension(256, 29));
这解决了问题。
关于java - JCombobox 意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25629897/