[英]Adding a cancel button to my JOptionPane
我的問題與這一問題相反: 是否有辦法在JOptionPane showInputDialog中僅具有OK按鈕(而沒有CANCEL按鈕)?
一種解決方法是(如果我沒看錯的話)添加一個任意的JPanel,在這種情況下添加一個標簽。 我的問題是我在消息窗口中需要一個JComboBox對象,並且(以解決Coffee_Table問題的相同方式)讓JComboBox看上去刪除了“取消”按鈕。 我將YES_NO_CANCEL_OPTION替換為OK_CANCEL_OPTION還是QUESTION_MESSAGE都沒關系。
我仍然處於關於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]);
}
注意:組合框是不可協商的(與例如三個按鈕相對),因為我的實際項目是模擬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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.