java - JCombobox 意外行为

标签 java swing jcombobox

我在Netbeans中设计了一个JFrame,如下图所示:

http://tinypic.com/r/2em2wxd/8

当我运行该程序时,组合框变为全白色,如下图所示:

http://tinypic.com/r/2vblwuf/8

并且..当我单击“白色”空间时,它会显示组合框中可以选择的项目..但即使在选择之后,它仍然是相同的白色空间,没有正确显示布局,并且所选项目。

我的代码如下:

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/

相关文章:

java - 从 HTTPS 中的 Node JS 调用 Java REST API(在 Tomcat 上)

java - Spring 批处理 : Not all threads are running from the threadpool

java - 当我触发火球创建时,它会重置我的角色 JLabel

java - 我正在尝试通过 JFrame 将数据插入 MySQL

java - 这些 setDefaultCloseOperation 语句之间的区别

java - 为什么我的非常非常简单的 Java 程序还没有做任何事情,有时可以工作,有时却不能?

java - 在远程服务器中通过 SSH 后无法执行我的命令

java - 在生产中执行java ee应用程序的详细日志

JAVA netbeans 与组合框的问题

java - 从 JComboBox 中移除边框