Frage

Edit:

Die Frage folgt die horizontale Regel; meine eigene Antwort vorausgeht.


Basierend auf Hilfe von Oscar Reyes , mir diese Lösung in Handarbeit:

import javax.swing.JOptionPane;
import javax.swing.JFrame;

public class MyApp extends JFrame {
    public static void main(String [] args) {
        new MyApp();
    }

    public MyApp() {
        super("MyApp");
        setUndecorated(true);
        setVisible(true);
        setLocationRelativeTo(null);
        String i = JOptionPane.showInputDialog(this, "Enter your name:", getTitle(), JOptionPane.QUESTION_MESSAGE);
        if(null != i) {
            JOptionPane.showInputDialog(this, "Your name is:", getTitle(), JOptionPane.INFORMATION_MESSAGE, null, null, i.concat(i));
        }
        dispose();
    }
}

Beachten Sie auch ich meine Ausgabe in einem JOptionPane.showInputDialog anzuzeigen. Auf diese Weise die Ausgabe in einem Textfeld markiert ist, so kann ich einfach die Taste STRG + C , um die Ausgabe in die Zwischenablage und sie drücken ESC um die Anwendung zu schließen.


Ich habe eine triviale GUI für meine triviale Anwendung erstellt. Meine Anwendung fordert für einen einzigen Eingang mit einem JOptionPane.showInputDialog, führt eine Berechnung und zeigt dann einen einzigen Ausgang mit einem JOptionPane.showMessageDialog. Ich schalte manchmal zu einem maximierten Browserfenster oder etwas anderes aus zu kopieren, und will dann zurück zu meinem JOptionPane Dialog wechseln in einzufügen.

Ich möchte mein JOptionPane Dialog als eine Aufgabe in der Taskleiste angezeigt haben, so könnte ich es, wie fast jede andere laufende Programm umschalten. Ich ziehe es JOptionPane Einfachheit, anstatt eine JFrame zu schaffen, ein Flowlayout, ein Symbol, ein JTextField, ein JButton, eine Action, und so weiter, und so weiter.

  • Kann JOptionPane als Aufgabe in der Taskleiste angezeigt?
  • Wenn ja, wie bekomme ich es zu zeigen?
  • Wenn nicht, ist es etwas anderes, das ist ein Einzeiler wie JOptionPane.show[whatever]dialog()?
War es hilfreich?

Lösung

  • Kann JOptionPane als Aufgabe in der Taskleiste angezeigt?

Nein

  • Wenn nicht, ist es etwas anderes, das ist ein Einzeiler wie JOptionPane.show [was auch immer] dialog ()?

Nicht gerade ein Liner (aber einige zusätzliche 6 Zeilen: P)

Ich wette, Sie cam das alles in einem utlity Methode setzen ziemlich einfach und es nennen, wenn Sie es mit einem einzigen Anruf benötigen.

Der folgende Code würde eine Taskleiste für Ihre Anwendung hinzuzufügen.

import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class OptionTest { 
    public static void main ( String [] args ) { 

        JFrame frame = new JFrame("My dialog asks....");

        frame.setUndecorated( true );
        frame.setVisible( true );
        frame.setLocationRelativeTo( null );


        String message = JOptionPane.showInputDialog(frame,
            "Would this be enough?.", 
            "My dialog asks....", 
            JOptionPane.INFORMATION_MESSAGE);

        System.out.println( "Got " + message );

        frame.dispose();
    }
}

Durch die Art und Weise in Windows Vista, ich zum OptionPane wechseln sonst ohne etwas Alt + Tab verwenden (obwohl ich es in der Taskleiste nicht sehen können, wie Sie gesagt haben)

Andere Tipps

Diese Frage ist plattformabhängig. Auf meinem System, Debian Linux mit OpenBox, zeigt JOptionPanes immer in der Taskleiste. Ich kann keine JDialog verhindern, die auf der Taskleiste.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top