簡體   English   中英

在我的JOptionPane中添加一個取消按鈕

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM