Swing Selbstschliessende Nachrichtenfenster erzeugen

Status
Nicht offen für weitere Antworten.

Jay1980

Bekanntes Mitglied
Servus,

ich will so etwas wie ein JOptionPane haben, dass keine Aktion vom Benutzer erfordert und sich dann nach sagen wir 3 Sekunden schließt. Das Ding soll modal sein und ein Ereignis auslösen.

Den ersten Tipp den ich erhielt, ging in die Richtung eine Klasse von JDialog abzuleiten ... was haltet ihr davon und wie würdet es ihr machen?

Danke vorab.
 

Marco13

Top Contributor
Jo, ein JOptionPane oder ein eigener JDialog (je nach dem, was man braucht) und dann einen Thread starten, der 3 Sekunden wartet und danach das Ding wieder schließt....
 

Jay1980

Bekanntes Mitglied
Shit, mit Threads habe ich keinerlei Erfahrungen - hat jemand ggf. einen Codeschnippsel?

Ich weiss nicht was ich brauche, ich kann nicht erkennen ob ich nun lieber eine JOptionPane oder eine JDialog nehmen soll:
man startet das Programm und dann meldet man sich normalerweise als nutzer an und startet dann die Gui für den Status als Nutzer. Es gibt noch einen Status als Tester, den man aber nur selten aufruft.

Jetzt will ich ein Fenster das aufgeht und anzeigt ("Sie sind Nutzer ... (zum Ändern '1' drücken)") und dann soll das Fenster zugehen und dann soll ein Fenster aufgehen mit ("Starte Anwendung ...") das sich auch nach 2 Sekunden wieder schließt. Also alles ähnlich eines kleinen Splash-Screens.
 

madboy

Top Contributor
Was hält dich davon ab, bei der Anmeldung zu fragen welcher Status der Benutzer haben will/soll? Einen Logindialog hast du ja schon wie sich das anhört.
 

Jay1980

Bekanntes Mitglied
Mich nichts, aber der Nutzer soll gleich anfangen koennen, so ist die Aufgabenstellung und meine Architektur sieht das aber so vor, dass ich später auf andere Nutzer reagieren können möchte.

Daher wollte ich dem Nutzer seine Entscheidungen unterschieben ich brauche also Info-Fenster die ein Ereignis auslösen - soviel zur Hintergrundgeschichte dieser Anforderung.
 

madboy

Top Contributor
Am besten wirst du wohl einen Timer. So bald der Dialog geöffnet wird, startest du den Timer, der den Dialog dann wieder schließt:

Java:
Timer timer = new Timer();

TimerTask task = new TimerTask() {
public void run()  
  {
    //hier Dialog schließen
  }
};
timer.schedule  ( task, 2000 );
 

Jay1980

Bekanntes Mitglied
Immer noch nichts neues ...

Jetzt ist meine Taktik, dass ich einen WindowListener schreibe und das Fenster automatisch schliesse, leider krieg ich es nicht hin, einen JFrame in einen JFrame zu haengen (geht wahrscheinlich gar nicht, da es zwei TopLevel-Container sind), oder den WindowListener an ein JPanel zu haengen, oder eben einen JDialog zu erstellen, der dann automatisch schliesst und eben keinen Knopf hat.

Da muss doch irgendwo ein Codeschnippsel oder ein Tutorial sein, dass beschreibt, wie man in seinem Frame ein irgendein Fenster aufgehen laesst, da steht dann 'Du bist Fritz in zwei Sekunden gehts weiter ....' und dass dann wieder verschwindet und ich so ein Ereignis ohne Nutzerinteraktion habe - ich suche seit zwei Stunden, habe aber nichts gefunden was mir weiter hilft. Das Fenster waere schoen wenn es modal waere, aber auf Grund meines bisherigen Scheiterns ist das kein must-have mehr. Ich werkel mit Java-Swing.

Danke vorab.
 

Marco13

Top Contributor
Java:
import java.awt.event.*;
import javax.swing.*;

class Seufz extends JFrame
{
    public static void main(String args[])
    {
        SwingUtilities.invokeLater(new Runnable()
        {
            public void run()
            {
                new Seufz().setVisible(true);
            }
        });
    }

    public Seufz()
    {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JButton b = new JButton("doit");
        b.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                doit();
            }
        });
        getContentPane().add(b);
        pack();
    }


    public void doit()
    {
        final JFrame frame = new JFrame();
        frame.getContentPane().add(new JLabel("Und nu?"));
        frame.pack();
        frame.setLocation(300,300);
        frame.setVisible(true);

        Timer timer = new Timer(3000, new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                frame.setVisible(false);
                frame.dispose();
            }
        });
        timer.setRepeats(false);
        timer.start();
    }


}
 

Ebenius

Top Contributor
Ein modaler JDialog ist schon das richtige. Was anderes benutzt die JOptionPane auch nicht. Das könnte so aussehen:
Java:
final JDialog dialog = new JDialog(theOwnerFrame, "Wait...", true);
... // <== Hier den Inhalt in den Dialog packen

// schedule hiding the dialog after three seconds
final javax.swing.Timer closeTimer = new javax.swing.Timer(3000, new ActionListener() {
  @Override
  public void actionPerformed(ActionEvent event) {
    dialog.dispose();
  }
});
closeTimer.setRepeats(false);
closeTimer.start();

dialog.pack();
dialog.setLocationRelativeTo(theOwnerFrame);
dialog.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
dialog.setVisible(true); // blocks until the dialog is closed

// stop the timer
timer.stop(); // maybe not necessary if the timer does not repeat
Wenn man unbedingt möchte, dass der Dialog keinen Rahmen und keinen Titel und keine Titelleistenknöpfe hat, kann man ihn auch noch dazu bringen (sofern das Hostsystem das zulässt): [java=14]dialog.setUndecorated(true);[/code]
Ebenius
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I TIFF im CMYK-Farbmodell + mit dpi-Auflösung im Header erzeugen - wie? AWT, Swing, JavaFX & SWT 0
Monokuma Blöcke erzeugen (JavaFX) AWT, Swing, JavaFX & SWT 1
B Java FX In control.TreeCell-Implementierung Binding erzeugen AWT, Swing, JavaFX & SWT 0
Q-bert Dynamische Komponente erzeugen AWT, Swing, JavaFX & SWT 6
I Schöne Heatmap erzeugen AWT, Swing, JavaFX & SWT 10
K Color-Objekt erzeugen in CMYK AWT, Swing, JavaFX & SWT 2
MaxG. Swing Dynamisch grafische Objekte erzeugen AWT, Swing, JavaFX & SWT 12
kilopack15 JLabels im Array erzeugen AWT, Swing, JavaFX & SWT 2
J JavaFX Buttons mit Array erzeugen AWT, Swing, JavaFX & SWT 1
B JavaFX Wie Treeview aus xml erzeugen AWT, Swing, JavaFX & SWT 11
S AWT JTextFields durch Array im JMenu erzeugen? AWT, Swing, JavaFX & SWT 19
M In JFreeChart Geraden erzeugen AWT, Swing, JavaFX & SWT 11
D Mit Klick auf Button ein neues Fenster erzeugen AWT, Swing, JavaFX & SWT 11
GreyFox JLabel in laufender Anwendung erzeugen AWT, Swing, JavaFX & SWT 6
K JavaFX Erzeugen dynamischer Layouts in fxml AWT, Swing, JavaFX & SWT 3
A Swing Zwei Klassen mit Textfeld Eingaben vergleichen und Ausgabe erzeugen AWT, Swing, JavaFX & SWT 10
B Knoten, Kanten erzeugen AWT, Swing, JavaFX & SWT 4
H Quadrate dnamisch erzeugen und beliebig füllen AWT, Swing, JavaFX & SWT 7
P TableViewerColumn dynamisch erzeugen AWT, Swing, JavaFX & SWT 3
H Swing Button Klick soll "Untermenü-Buttons" erzeugen AWT, Swing, JavaFX & SWT 2
B Kontrast in einem Bild erzeugen AWT, Swing, JavaFX & SWT 37
J Halb-modales Fenster erzeugen AWT, Swing, JavaFX & SWT 5
A Panels in JavaFX zur Laufzeit erzeugen AWT, Swing, JavaFX & SWT 5
C SWT - widget dynamisch erzeugen und anzeigen AWT, Swing, JavaFX & SWT 10
M jTable - Größe beim Erzeugen AWT, Swing, JavaFX & SWT 4
B eine .jar erzeugen AWT, Swing, JavaFX & SWT 4
K Swing: Panel in Panel erzeugen AWT, Swing, JavaFX & SWT 11
S Bild fläche erzeugen AWT, Swing, JavaFX & SWT 10
G Große dynamische ContextMenus erzeugen (Eclipse RCP) AWT, Swing, JavaFX & SWT 4
A JTree aus Pfaden erzeugen AWT, Swing, JavaFX & SWT 3
T Leerraum im Jframe erzeugen AWT, Swing, JavaFX & SWT 3
E Profilsichten speichern und dynamsich erzeugen?! AWT, Swing, JavaFX & SWT 2
G Mit Java einen Button wie z.B. im Opera 10.63 erzeugen AWT, Swing, JavaFX & SWT 3
R Möglichkeiten ein abgeleitetes Objekt zu erzeugen AWT, Swing, JavaFX & SWT 4
A Swing Dynamisch Objekte erzeugen AWT, Swing, JavaFX & SWT 3
M Jframe wie bekommt man bei den zeile einen header erzeugen AWT, Swing, JavaFX & SWT 2
X Swing Neues Fenster erzeugen AWT, Swing, JavaFX & SWT 3
E AWT RenderedImage aus BufferedImage erzeugen, um Bild abzuspeichern? AWT, Swing, JavaFX & SWT 4
D Erzeugen eines leeren Graphics-Objektes AWT, Swing, JavaFX & SWT 7
M Swing Zweidimensionales Array mit Farben erzeugen AWT, Swing, JavaFX & SWT 16
H Swing Trennlinie wie bei Menüleiste erzeugen AWT, Swing, JavaFX & SWT 2
Semox Swing JFrame extern erzeugen und in anderes JFrame einbetten AWT, Swing, JavaFX & SWT 7
D Dynamischen JTree aus Hyperlinks bzw. Anker erzeugen AWT, Swing, JavaFX & SWT 8
G ActionEvents selbst erzeugen AWT, Swing, JavaFX & SWT 7
R JLabel und JSlider dynamisch erzeugen? AWT, Swing, JavaFX & SWT 3
O Button (ActionPerformed) soll neues JFrame erzeugen AWT, Swing, JavaFX & SWT 8
I Swing JTree aus ArrayList<File> erzeugen AWT, Swing, JavaFX & SWT 15
data89 Code-completion-window erzeugen - wie? AWT, Swing, JavaFX & SWT 2
martinyyyy AWT Parameter erzeugen NullpointerException obwohl sie vorhanden sind? AWT, Swing, JavaFX & SWT 4
B Wie kann ich Greyscale Bilder aus ushort binary files erzeugen? AWT, Swing, JavaFX & SWT 8
multiholle Swing TransferHandler mit DataFlavor erzeugen AWT, Swing, JavaFX & SWT 2
H Swing jpanel in jframe erzeugen und anzeigen AWT, Swing, JavaFX & SWT 5
freakysheep mit jtree config file erzeugen AWT, Swing, JavaFX & SWT 2
E Komponenten in Event Dispatch Thread erzeugen? AWT, Swing, JavaFX & SWT 4
S JTable Daten bearbeiten und Grauwertbild erzeugen! AWT, Swing, JavaFX & SWT 4
S Nachträglich Swing-Elemente in JFrame erzeugen AWT, Swing, JavaFX & SWT 18
isowiz Leeres ImageIcon einer bes timmten Größe erzeugen AWT, Swing, JavaFX & SWT 2
S JMenu und ActionListener per Schleife erzeugen AWT, Swing, JavaFX & SWT 3
M Erzeugen von Komponenten während der Laufzeit AWT, Swing, JavaFX & SWT 6
G Felder dynamisch erzeugen! AWT, Swing, JavaFX & SWT 3
I Textfields dynamisch erzeugen AWT, Swing, JavaFX & SWT 4
J JFrame in Fenstermitte erzeugen AWT, Swing, JavaFX & SWT 16
N Threads kein neues Fenster erzeugen lassen AWT, Swing, JavaFX & SWT 4
A Grafik aus MIME-kodiertem Inhalt erzeugen AWT, Swing, JavaFX & SWT 2
G Datei-Browser - Wie solche Ansicht erzeugen? AWT, Swing, JavaFX & SWT 3
R Nicht rechteckige Komponenten erzeugen? AWT, Swing, JavaFX & SWT 7
K Erzeugen eines Jar-Files AWT, Swing, JavaFX & SWT 5
vogella Erzeugen der Hauptsicht (JFrame) AWT, Swing, JavaFX & SWT 2
M Aus Swing Oberfläche Bild erzeugen AWT, Swing, JavaFX & SWT 39
L Dynamisches Erzeugen eines Button AWT, Swing, JavaFX & SWT 2
M Abstrakte Graphics Klasse erzeugen AWT, Swing, JavaFX & SWT 2
F Komponente dynamisch erzeugen AWT, Swing, JavaFX & SWT 4
J Eigene Fehlermeldung in AWT erzeugen AWT, Swing, JavaFX & SWT 2
J Thread erzeugen AWT, Swing, JavaFX & SWT 9
M dynamischen JTree erzeugen AWT, Swing, JavaFX & SWT 4
S In einem button Panel 2 verschiedene TiteledBoarder erzeugen AWT, Swing, JavaFX & SWT 5
M ImageObserver, Bild dynamisch erzeugen und Speichern AWT, Swing, JavaFX & SWT 24
L Tabelle mit 5 spalten und 2 Zeilen erzeugen AWT, Swing, JavaFX & SWT 4
B Objekt in "actionPerformed" erzeugen und nutzen AWT, Swing, JavaFX & SWT 3
B JFrame aktualisieren ohne es neu zu erzeugen AWT, Swing, JavaFX & SWT 1
G JRadioButton dynamisch erzeugen AWT, Swing, JavaFX & SWT 6
A Zeitversetzes erzeugen von JLabel AWT, Swing, JavaFX & SWT 5
H Textfelder erzeugen AWT, Swing, JavaFX & SWT 2
J Mehrreihige JTabbedPane erzeugen AWT, Swing, JavaFX & SWT 6
G Grafik erzeugen: eine Art Zustandsgraph eines Automaten AWT, Swing, JavaFX & SWT 7
G Action Listener erzeugen AWT, Swing, JavaFX & SWT 6
S Mehrere Buttons in einer Schleife erzeugen . AWT, Swing, JavaFX & SWT 3
M Prob. beim dynamischen Erzeugen v. Obj! AWT, Swing, JavaFX & SWT 11
M "einfaches Grafikobjekt erzeugen" AWT, Swing, JavaFX & SWT 8
G Non-Modal JFileChooser erzeugen AWT, Swing, JavaFX & SWT 10
H JComboBoxen dynamisch erzeugen AWT, Swing, JavaFX & SWT 3
M Zusätzlichen Maus-Klick erzeugen AWT, Swing, JavaFX & SWT 4
K toolbar dynamisch erzeugen AWT, Swing, JavaFX & SWT 2
H Statusbar erzeugen AWT, Swing, JavaFX & SWT 2
@ Erzeugen einer Maske zum drucken AWT, Swing, JavaFX & SWT 2
G JTable mit Vektor-Konstruktor erzeugen?! AWT, Swing, JavaFX & SWT 3
S Panel (Frame) erzeugen AWT, Swing, JavaFX & SWT 5
H große mengen an jbuttons dynamisch erzeugen? AWT, Swing, JavaFX & SWT 15

Ähnliche Java Themen


Oben