java - JComboBox 导致运行时错误

标签 java user-interface swing jcombobox

我正在尝试使用 Java 进行一些 GUI 开发,当我添加以下代码时,我在类初始化期间遇到运行时错误:

public class Search_Album_Main_Tab extends JPanel{
    JComboBox   search_list;
    JTextArea   searched_data;
    JButton     search_button;
    Results_Main_Tab rmt;
    Search_Action_Listener listener;

    public Search_Album_Main_Tab(Results_Main_Tab results_main_tab)
    {
        String[] search_options = {"Album", "Artist", "Genre", "ID", "Year"};
        setLayout(new GridLayout(3,1));
        rmt = results_main_tab;
        listener = new Search_Action_Listener();

        /*  Searched data   */
        searched_data = new JTextArea();

        /*  Search button   */
        search_button = new JButton("Search Album");
        search_button.addActionListener(listener);

        /*  Drop down menu  */
        search_list = new JComboBox(search_options);

        add(search_list);
        add(searched_data);
        add(search_button);     
    }

    private class Search_Action_Listener implements ActionListener
    {

        public void actionPerformed(ActionEvent event) 
        {
            if (event.getSource() == search_button)
            {

            }

        }

    }

}

我得到的错误是:

dcm_gui.GUI at localhost:53806  
    Thread [main] (Suspended (exception NullPointerException))  
        CUIAquaComboBox.applySizeFor(JComponent, CoreUIConstants$Size) line: 454    
        CUIAquaUtilControlSize.applyUISizing(JComponent, CoreUIConstants$Size) line: 99 
        CUIAquaUtilControlSize.access$200(JComponent, CoreUIConstants$Size) line: 13    
        CUIAquaUtilControlSize$PropertySizeListener.applyComponentSize(JComponent, Object) line: 121    
        CUIAquaUtilControlSize.addSizePropertyListener(JComponent) line: 25 
        CUIAquaComboBox.installListeners() line: 47 
        CUIAquaComboBox(BasicComboBoxUI).installUI(JComponent) line: 229    
        CUIAquaComboBox.installUI(JComponent) line: 30  
        JComboBox(JComponent).setUI(ComponentUI) line: 653  
        JComboBox.setUI(ComboBoxUI) line: 238   
        JComboBox.updateUI() line: 247  
        JComboBox.init() line: 212  
        JComboBox.<init>(Object[]) line: 178    
        Search_Album_Main_Tab.<init>(Results_Main_Tab) line: 36 
        GUI.main(String[]) line: 28 
    Daemon Thread [AWT-AppKit] (Running)    
/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/bin/java (Oct 10, 2010 11:55:27 PM) 

有人知道为什么吗?

宾雅明

最佳答案

这看起来像是您的自定义外观的问题。在使用自定义外观时,我曾经遇到过类似的问题。在这里描述:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4711700

那是针对 JFileChooser 小部件的,而不是组合框,但它可能是相关的。

您应该尝试的第一件事是恢复到默认的“金属”外观。如果可行,则可能是该特定 L&F 的问题。我以前没有使用过 CUIAqua L&F,但我认为它是官方的 Apple Java L&F。您可能还想尝试将其切换为 QuaQua .它是替代的类似 Mac 的 L&F,它可能(取决于实际的错误)避免这个问题。

关于java - JComboBox 导致运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3902401/

相关文章:

java - 更改交通灯java切换按钮的状态

java - Swagger api 客户端方法返回 void

actionscript-3 - Adobe AIR : touch screen doesn't trigger mouse down event correctly

java - 如何允许用户调整小部件的大小?

java - jackson 错误: unacceptable character '' (0x0) special characters are not allowed

java - 使用 JOOQ 更新 PostgreSQL 中的 jsonb 值

java - 如何克服 ConstraintLayout 准则导致的别名问题?

java - JFileChooser 将无法正常工作

Java:仅删除标题栏按钮

java - 如何让一个方法在后台持续运行?