Zum Inhalt springen

Wie entferne ich einen "Abbrechen" Button?


Empfohlene Beiträge

Geschrieben

Hallo zusammen,

ich benötige eine Hilfe, wie ich aus folgendem Dialog den "Abbrechen" Button entfernen kann.

Der Dialog soll nur einen "OK" Button verwenden.

header.png

mein Code dafür ist:

....

             Object[] oheader = {"AMSDOS header found...\n\n" +

                     "&" + Sadr +" - Load adress\n"+

                     "&" + Slen +" - File length\n" +

                     "&" + Sexc +" - Exec. adress\n\n" +

                     "Filetype is: " + ftype+"\n\n" +

                     "Enter start adress:\n(Hexadecimal)"};

             String selectedHeader = JOptionPane.showInputDialog(dummy, oheader,Sadr);

....

Hoffe, dass mir jemand helfen kann...

MfG

Markus

Geschrieben

Also es gibt die Möglichkeit beim OptionDialog zu bestimmen welche Buttons angezeigt werden sollen, aber wie es aussieht, scheint es diese Möglichkeit beim InputDialog nicht zu geben.

Also ich seh zurzeit nur die Läsung, dass du dir selber einen Dialog zusammen baust.

Nen gutes Tutorial dafür scheint das hier von Java zu sein:

How to Make Dialogs (The Javaâ„¢ Tutorials > Creating a GUI with JFC/Swing > Using Swing Components)

Geschrieben (bearbeitet)

Hab mir mal den Quellcode der Klasse JOptionPane angeschaut.

Die methode...

showInputDialog(Component parentComponent, Object message, Object initialSelectionValue)
...die du verwendest ruft ihrerseits die methode...
return (String)showInputDialog(parentComponent, message,

                      UIManager.getString("OptionPane.inputDialogTitle",

                      parentComponent), QUESTION_MESSAGE, null, null,

                      initialSelectionValue);
In der wird dann dein JOptionPane erstellt, angezeigt, der Rückgabewert abgefangen und dir zurückgegeben. (witzig: sun verwendet auch ab und zu deprecated-Methoden). Also so wie ich die Sache sehe hast du drei Möglichkeiten: 1. Du machst dir einen komplett eigenen Dialog. 2. Du nimmst den Code von showInputDialog um deinen eigenen Dialog zu erstellen und änderst die parameter, so das es den Button nicht gibt. 3. Du nimmst den Code von showInputDialog um deinen eigenen Dialog zu erstellen, lässt dir dann die geaddeden Components geben, suchst den Button und removst ihn. Code der Methode:
    public static Object showInputDialog(Component parentComponent,

        Object message, String title, int messageType, Icon icon,

        Object[] selectionValues, Object initialSelectionValue) 

        throws HeadlessException {

        JOptionPane    pane = new JOptionPane(message, messageType,

                                              OK_CANCEL_OPTION, icon,

                                              null, null);


        pane.setWantsInput(true);

        pane.setSelectionValues(selectionValues);

        pane.setInitialSelectionValue(initialSelectionValue);

        pane.setComponentOrientation(((parentComponent == null) ?

	    getRootFrame() : parentComponent).getComponentOrientation());


        int style = styleFromMessageType(messageType);

        JDialog dialog = pane.createDialog(parentComponent, title, style);


        pane.selectInitialValue();

        dialog.show();

        dialog.dispose();


        Object value = pane.getInputValue();


        if (value == UNINITIALIZED_VALUE) {

            return null;

        }

        return value;

    }

Bearbeitet von speedi
Geschrieben

Also hab grad nochmal geschaut: JoptionPane ist in dem Punkt scheinbar echt extrem steif. Bislang wars mir nicht möglich auf einfachem Wege den Button zu entfernen.

Am besten ists wahrscheinlich echt einen eigenen Dialog zu erstellen.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...