一般而言, 大多的设计都是combolist后面跟一个button
由button去控制actionPerformed我就是想简化一下, 所以想每次选定combolist上的一个选项
就自从弹出相应的界面或程序可是结果发现, 选定后有时有相应, 有时就没有相应, 代码如下 OptionList.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JComboBox cb = (JComboBox) e.getSource();
String perName = (String) cb.getSelectedItem();
if (perName.equals("Taems Task Structure")) {
JFrame frame = new JFrame("Taems Task Structure");
Taems task = getTaems();
task.setPreferredSize(new Dimension(400, 400));
frame.getContentPane().add(task, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
} else if (perName.equals("View Markov Process")) {
ViewData test = new ViewData();
test.viewTrainingSet();
} else if (perName.equals("View Input Event")) {
ViewData test = new ViewData();
test.viewInputEvent();
} else if (perName.equals("View Blackboard Tree")) {
mdp.ManageBlackboardTree.buildTreeLevelHash();
}
alternativeAction = perName;
}
});
optionList就是那个下拉列表有意思的是, if后的每个条件判断里的内容, 都是原来button下的代码不变是不是, actioinPerformed 用到combolist就不好用了???
还是要加一些别的语句呢
由button去控制actionPerformed我就是想简化一下, 所以想每次选定combolist上的一个选项
就自从弹出相应的界面或程序可是结果发现, 选定后有时有相应, 有时就没有相应, 代码如下 OptionList.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JComboBox cb = (JComboBox) e.getSource();
String perName = (String) cb.getSelectedItem();
if (perName.equals("Taems Task Structure")) {
JFrame frame = new JFrame("Taems Task Structure");
Taems task = getTaems();
task.setPreferredSize(new Dimension(400, 400));
frame.getContentPane().add(task, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
} else if (perName.equals("View Markov Process")) {
ViewData test = new ViewData();
test.viewTrainingSet();
} else if (perName.equals("View Input Event")) {
ViewData test = new ViewData();
test.viewInputEvent();
} else if (perName.equals("View Blackboard Tree")) {
mdp.ManageBlackboardTree.buildTreeLevelHash();
}
alternativeAction = perName;
}
});
optionList就是那个下拉列表有意思的是, if后的每个条件判断里的内容, 都是原来button下的代码不变是不是, actioinPerformed 用到combolist就不好用了???
还是要加一些别的语句呢
你試試有沒有類似ItemListener的監聽~~
怎么加在如上的代码里啊JcomboBox, 好像没有如上的两个函数啊 ?
public void itemStateChanged(ActionEvent e) {这个报错
在
new ItemListener()???
jcb.addItemListener(new ItemListener(){ public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
//把你邏輯判斷放到這就行了
}
});
选择一个选项, 弹出了一个对话框
然后关闭此对话框又选了同样的这个选项, 用
itemStateChanged
对话框就出不来了怎么解决呢?
就是 先remove這個監聽 然後重置下JComboBox 然後再把這個監聽add上 這樣每次都能刷新了