Java 返回一个对象,并且您不能显示对象(除非自动装箱为您解决此问题)。如果项目自动自动装箱为字符串值,则无需执行任何操作。如果没有,则需要调用toString()方法才能更新标签:labels.setText(getSelectedItem().toString

Java 返回一个对象,并且您不能显示对象(除非自动装箱为您解决此问题)。如果项目自动自动装箱为字符串值,则无需执行任何操作。如果没有,则需要调用toString()方法才能更新标签:labels.setText(getSelectedItem().toString,java,swing,user-interface,jcombobox,itemlistener,Java,Swing,User Interface,Jcombobox,Itemlistener,返回一个对象,并且您不能显示对象(除非自动装箱为您解决此问题)。如果项目自动自动装箱为字符串值,则无需执行任何操作。如果没有,则需要调用toString()方法才能更新标签:labels.setText(getSelectedItem().toString()) import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; public class Example2 extends J

返回一个
对象
,并且您不能显示
对象
(除非自动装箱为您解决此问题)。如果项目自动自动装箱为
字符串
值,则无需执行任何操作。如果没有,则需要调用
toString()
方法才能更新标签:
labels.setText(getSelectedItem().toString())
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class Example2 extends JFrame implements ItemListener {


    private JComboBox maincombobox;
    private JComboBox subcombobox;
    private JLabel labels;

    public Example2(){
        String[] items = {"Select a Color","Red","Blue","Yellow","Green"};
        maincombobox =  new JComboBox(items);
        maincombobox.addItemListener(this);

        getContentPane().add(maincombobox);

        subcombobox = new JComboBox();
        subcombobox.addItemListener(this);      
        subcombobox.setEnabled(true);
        subcombobox.setPrototypeDisplayValue("XXXXXXXXXXXXX");
        getContentPane().add(subcombobox,BorderLayout.EAST);

        labels =  new JLabel("Default");
        getContentPane().add(labels, BorderLayout.SOUTH);


             }
    public void itemStateChanged(ItemEvent e) {
        String[] subitems1 = {"Choose a number","1","3","4","7"};
        String[] subitems2= {"Choose a number","2","6","8","5"};

        String[] fortune = {"Today is you lucky day", "You will get strange looks from people", "Don't touch your left foot today", 
                "You will forget a crucial thing today", "You will meet a mysterious person", "Will win a million dollars", 
                "Good day in the financial market", "Get a life","Think hard, you will find the answer"};


        if (e.getSource() == maincombobox) {

            if (maincombobox.getSelectedItem().equals("Select a Color")) {
               subcombobox.setEnabled(false);
            }    
            else if (maincombobox.getSelectedItem().equals("Red") ||
                maincombobox.getSelectedItem().equals("Yellow") ){

                subcombobox.setEnabled(true);
                subcombobox.removeAllItems();
                for (int i = 0; i < subitems1.length; i++) {
                    subcombobox.addItem(subitems1[i]);
                }

            }

            else if (maincombobox.getSelectedItem().equals("Blue") ||
                maincombobox.getSelectedItem().equals("Green") ){


                subcombobox.setEnabled(true);
                subcombobox.removeAllItems();
                for (int i = 0; i < subitems2.length; i++) {
                    subcombobox.addItem(subitems2[i]);
                }

            }
        }

    }

    public static void main(String[] args){
        JFrame frame = new Example2();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300,200);
        frame.setVisible(true);
        frame.setLocationRelativeTo(null); 
    }
}
if(e.getSource()==subcombobox){
    int choice=Integer.parseInt(subcombobox.getSelectedItem());
    //here the selected number gets stored into the int variable choice
    labels.setText(fortune[choice]);
    //here the text for "labels" is set from your fortune string array
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class Example2 extends JFrame implements ItemListener {

private JComboBox maincombobox;
private JComboBox subcombobox;
private JLabel labels;

public Example2(){
    String[] items = {"Select a Color","Red","Blue","Yellow","Green"};
    maincombobox =  new JComboBox(items);
    maincombobox.addItemListener(this);

    getContentPane().add(maincombobox);

    subcombobox = new JComboBox();
    subcombobox.addItemListener(this);      
    subcombobox.setEnabled(true);
    subcombobox.setPrototypeDisplayValue("XXXXXXXXXXXXX");
    getContentPane().add(subcombobox,BorderLayout.EAST);

    labels =  new JLabel("Default");
    getContentPane().add(labels, BorderLayout.SOUTH);


         }
public void itemStateChanged(ItemEvent e) {
    String[] subitems1 = {"Choose a number","1","3","4","7"};
    String[] subitems2= {"Choose a number","2","6","8","5"};

    String[] fortune = {"Today is you lucky day", "You will get strange looks from people", "Don't touch your left foot today", 
            "You will forget a crucial thing today", "You will meet a mysterious person", "Will win a million dollars", 
            "Good day in the financial market", "Get a life","Think hard, you will find the answer"};

    if (e.getSource() == maincombobox)
    {

        if (maincombobox.getSelectedItem().equals("Select a Color"))
        {
            subcombobox.setEnabled(false);
        }
        else if (maincombobox.getSelectedItem().equals("Red") || maincombobox.getSelectedItem().equals("Yellow"))
        {

            subcombobox.setEnabled(true);
            subcombobox.removeAllItems();
            for (int i = 0; i < subitems1.length; i++)
            {
                subcombobox.addItem(subitems1[i]);

            }

        }

        else if (maincombobox.getSelectedItem().equals("Blue") || maincombobox.getSelectedItem().equals("Green"))
        {

            subcombobox.setEnabled(true);
            subcombobox.removeAllItems();
            for (int i = 0; i < subitems2.length; i++)
            {
                subcombobox.addItem(subitems2[i]);

            }
        }

    }


    else if (subcombobox.getItemCount()>0)
    {
        for(int i=0;i<8;i++)
        {
                if (subcombobox.getSelectedItem().equals(Integer.toString(i)))
                {
                    labels.setText(fortune[i]);
                }

        }
    }

}

public static void main(String[] args){
    JFrame frame = new Example2();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(300,200);
    frame.setVisible(true);
    frame.setLocationRelativeTo(null); 
}
else if (subcombobox.getItemCount()>0)
{
    for(int i=0;i<8;i++)
    {
            if (subcombobox.getSelectedItem().equals(Integer.toString(i)))
            {
                labels.setText(fortune[i]);
            }

    }
}