Devilmarkus Geschrieben 3. Dezember 2008 Teilen Geschrieben 3. Dezember 2008 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. 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Dragon8 Geschrieben 3. Dezember 2008 Teilen Geschrieben 3. Dezember 2008 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) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
speedi Geschrieben 4. Dezember 2008 Teilen Geschrieben 4. Dezember 2008 (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 4. Dezember 2008 von speedi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
speedi Geschrieben 4. Dezember 2008 Teilen Geschrieben 4. Dezember 2008 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Devilmarkus Geschrieben 4. Dezember 2008 Autor Teilen Geschrieben 4. Dezember 2008 Habe es nun so gelöst: String selectedHeader = JOptionPane.showInputDialog(dummy, oheader,Sadr); if ( selectedHeader == null) return; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.