Len*_*xus 0 java swing joptionpane cancel-button jcombobox
我的问题是这个问题的反面:有没有办法在JOptionPane showInputDialog(而且没有CANCEL按钮)中只有OK按钮?
对此的一个解决方案是(如果我正确读取)添加任意JPanel,在该实例中是标签.我的问题是我需要在消息窗口中有一个JComboBox对象,并且(以解决Coffee_Table问题的方式相同)让JComboBox似乎删除了取消按钮.如果我用OK_CANCEL_OPTION或QUESTION_MESSAGE替换YES_NO_CANCEL_OPTION并不重要.
我仍然处于学习JOptionPane系列的无意识复制阶段,所以我认为解决方案是显而易见的,我只是不知道它,因为我没有看到任何具体的例子无意识地复制.(这也意味着一旦我学会了如何添加取消按钮,我就需要研究如何访问是否用户点击它.编辑:我不确定我是怎么做的,所以你不要如果你不想,你需要回答它.)
public static void main(String[] args) {
int numCh1 = 1;
String[] moves = {"rock","paper","scissors"};
JComboBox<?> optionList = new JComboBox<Object>(moves);
JOptionPane.showMessageDialog(
null,
optionList,
"Player One: Choose a Move",
JOptionPane.YES_NO_CANCEL_OPTION
);
numCh1 = optionList.getSelectedIndex();
System.out.println(moves[numCh1]);
}
Run Code Online (Sandbox Code Playgroud)
注意:组合框是不可协商的(而不是三个按钮),因为我的实际项目是模拟rps101 ; 我只是认为你不需要看到所有100个动作(或其他任何与此问题无关的动作).
您正在使用showMessageDialog()方法,该方法只显示:消息.它没有取消选项.为此,请使用其他方法之一.
实际上,最后一个参数甚至不是有效的.它不是在寻找像您提供的选项类型,而是在寻找消息类型(ERROR_MESSAGE,INFORMATION_MESSAGE,WARNING_MESSAGE,QUESTION_MESSAGE或PLAIN_MESSAGE).
与往常一样,API是您最好的朋友:http://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html