【发布时间】:2015-03-14 18:37:46
【问题描述】:
我正在制作一个 Swing 应用程序,但无法从嵌入在 JOptionPane 中的复选框获取输入
此时我单击一个加载 JOptionPane 的按钮(比较),然后选择要运行的两个动画。 我在想这行不通的原因是因为我得到了按钮的来源,而不是嵌入式 JCheckBox 这样做吗??
comparison.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JPanel a1=new JPanel();
a1.add(bubbleCheckBox);
a1.add(quickCheckBox);
a1.add(insertionCheckBox);
a1.add(selectionCheckBox);
a1.add(mergeCheckBox);
JOptionPane.showConfirmDialog(null, a1);
Object buttonPressed =e.getSource();
if (buttonPressed.equals(insertionCheckBox)&&buttonPressed.equals(bubbleCheckBox)) {
SortAnimator animator = new SortAnimator(new InsertionSorter(),new BubbleSorter());
}else if(buttonPressed.equals(insertionCheckBox)&&buttonPressed.equals(quickCheckBox)){
// SortAnimator animator = new SortAnimator(new InsertionSorter(),new quickSorter());
}else if(buttonPressed.equals(insertionCheckBox)&&buttonPressed.equals(selectionCheckBox)){
SortAnimator animator = new SortAnimator(new InsertionSorter(),new SelectionSorter());
}else if(buttonPressed.equals(insertionCheckBox)&&buttonPressed.equals(mergeCheckBox)){
// SortAnimator animator = new SortAnimator(new InsertionSorter(),new mergeSorter());
}else if(buttonPressed.equals(quickCheckBox)&&buttonPressed.equals(bubbleCheckBox)){
//
}else if(buttonPressed.equals(quickCheckBox)&&buttonPressed.equals(mergeCheckBox)){
}else if(buttonPressed.equals(quickCheckBox)&&buttonPressed.equals(selectionCheckBox)){
}else if(buttonPressed.equals(selectionCheckBox)&&buttonPressed.equals(bubbleCheckBox)){
SortAnimator animator = new SortAnimator(new SelectionSorter(),new BubbleSorter());
}else if(buttonPressed.equals(selectionCheckBox)&&buttonPressed.equals(mergeCheckBox)){
}else if (buttonPressed.equals(mergeCheckBox)&&buttonPressed.equals(bubbleCheckBox)){
}else{
//Invalid selection please select a maximum of two different algorithms
}
【问题讨论】:
标签: java swing joptionpane jcheckbox