我正在开发某些应用程序。在主页(注册页面)上,有一个组合框,几乎没有可供选择的选项。根据选择的内容,具体内容将出现在下一个窗口中。 问题是如何从该组合框中的其他类中获取Content。
我假设需要添加一些if控制指令,但是每次我添加一些东西都会返回错误。
有人可以帮忙看看代码的样子吗? 例如,如果将选择选项“ 1”,则将背景设置为黑色,如果将“ 2”将背景设置为粉红色,等等。
注册窗口:
public Main() throws Exception {
registerWindowFrame = new JFrame("xxx");
//registerWindowFrame.setSize(1440,2960);
registerWindowFrame.setSize(500, 750);
registerWindowFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
registerWindowFrame.setLayout(null);
registerWindowFrame.getContentPane().setBackground(Color.RED);
BloodList bloodList = new BloodList();
bloodList.setSize(bloodList.getPreferredSize());
bloodList.setLocation(10, 365);
registerWindowFrame.add(bloodList);
comboxbox类:
public class BloodList extends JComboBox <String> {
int i;
public String[] bloodList =
{
"1",
"2",
"3",
};
public BloodList() {
for (i=0; i < bloodList.length; i++)
{
this.addItem(bloodList[i]);
};
}
}
注册窗口后的窗口:
public mainWindowBplus() {
super();
bloodBplusFrame = new JFrame("SETTINGS");
bloodBplusFrame.setSize(500, 750);
bloodBplusFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
bloodBplusFrame.setLayout(null);
bloodBplusFrame.getContentPane().setBackground(Color.BLUE);
bloodBplusFrame.setVisible(true);
答案 0 :(得分:1)
您应该在action listener
上添加一个jcombobox
,以获取所选String
的值,然后在其他类中使用该值,请尝试以下操作:
public class BloodList extends JComboBox <String> {
private String s="";
private String[] bloodList =
{
"1",
"2",
"3",
};
public BloodList() {
for (int i=0; i < bloodList.length; i++)
{
this.addItem(bloodList[i]);
};
}
ActionListener cbActionListener = new ActionListener() {//add actionlistner to listen for change
@Override
public void actionPerformed(ActionEvent e) {
s = (String) BloodList.this.getSelectedItem();//get the selected string
}
};
this.addActionListener(cbActionListener);
public String getS(){return s;}
}
现在,您可以使用String
方法在另一个类中使用该getS()
。