Java:comboBox,comboBox中每个选项的不同表
我想为我的组合框中的每个选项,在我的应用程序上显示不同的内容。窗口:不同的按钮、表格、文本字段等 我想最好的方法是做一个“开关”,但我真的不知道在开关的测试区域放什么Java:comboBox,comboBox中每个选项的不同表,java,swing,jcombobox,Java,Swing,Jcombobox,我想为我的组合框中的每个选项,在我的应用程序上显示不同的内容。窗口:不同的按钮、表格、文本字段等 我想最好的方法是做一个“开关”,但我真的不知道在开关的测试区域放什么 package tema3; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JComboBox; import javax.swi
package tema3;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Interface {
public static void main(String[] args) {
new Interface();
}
public Interface() {
JFrame guiFrame = new JFrame();
guiFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
guiFrame.setTitle("Tema3");
guiFrame.setSize(1200, 600);
guiFrame.setLocationRelativeTo(null); // seteaza centrat
String[] tableOptions = { "OPDept", "Order", "OrderItems", "Product",
"Warehouse", "Customer" };
// pentru combo box
final JPanel comboPanel = new JPanel();
JLabel comboLbl = new JLabel("Tabele:");
JComboBox tables = new JComboBox(tableOptions);
comboPanel.add(comboLbl);
comboPanel.add(tables);
tables.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
comboPanel.setVisible(comboPanel.isVisible());
switch (???what to insert here???) {
case "Order": {
System.out.println("11111");
break;
}
case "Product": {
System.out.println("2222");
break;
}
default: {
System.out.print("sd");
break;
}
}
}
});
guiFrame.add(comboPanel, BorderLayout.NORTH);
guiFrame.add(tables, BorderLayout.SOUTH);
guiFrame.setVisible(true);
}
}
谢谢,
Dragos假设您使用的是
Java7
,您可以编写如下代码:
String s = (String)tables.getSelectedItem();
switch (s) {
您可以使用方法获取当前选定的项目:
switch ((String)tables.getSelectedItem()) { ... }
注意:为了在switch语句中使用它,您必须将其强制转换为
字符串。如果您没有使用Java7+
,则无法切换字符串
因此,您可以将其转换为if(){}。。else{}
就像这样:
String s = (String) tables.getSelectedItem();
if (s.equals("Order")) {
System.out.println("11111111");
} else if (s.equals("Product")) {
System.out.println("2222222");
} else {
System.out.print("sd");
}
在JavaSE7和更高版本中,可以在switch语句的表达式中使用String对象