Announcement

Collapse
No announcement yet.

JOptionPane erweitern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • JOptionPane erweitern

    Ich möchte die Klasse OptionPane verwenden um den User über aufgetretene Ereignisse zu infomieren.

    Nun habe ich vollgendes Problem:
    Ich möchte einen Timer-Wert übergeben, nachdem die angezeigte OptionPane-Message geschlossen wird (auch wenn der User nichts ausgewählt hat) und die DefaultOption zurueck gegeben wird.

    Danke für Hilfe.

  • #2
    Hallo Bernhard,<br>
    ich würde Dir ja gerne helfen, aber ich verstehe Dein Problem nicht!<br>
    Du gibst in einem JOptionPane NUR eine Message aus aber plötzlich <br>
    gibt es da irgendeinen Timer und eine DefaultOption???
    Sorry...
    <p>
    Klau

    Comment


    • #3
      Ok.

      Ich möchte JOptionPane so erweitern, das ich beim Aufruf von z.B.

      Object[] options = { "OK", "CANCEL", "SKIP", "COPY" };
      JOptionPane.showOptionDialog(null, "Click OK to
      continue", "Warning",
      JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,
      null, options, options[2]);

      noch einen weiteren Parameter: "timeOut" übergeben kann. Wenn der "timeOut" abgelaufen ist, dann wird die Default-Option ausgewählt. Und der Dialog automatisch geschlossen.

      Erreichen will ich damit, dass eine Fehler Meldung angezeigt wird, aber das Programm weiterläuft.

      MFG Bernhar

      Comment


      • #4
        Hallo Bernhard,<br>
        "Erreichen will ich damit, dass eine Fehler Meldung angezeigt wird, aber das Programm weiterläuft. "<br>
        JOptionPane.showOptionDialog(..) ist immer MODAL! Wenn dieses Fenster erscheinen<br>
        soll, Dein Programm aber trotzdem weiterlaufen soll, müsstest Du dieses JOptionPane<br> lediglich aus einem eigenen Thread abschicken. Dann wird <br>
        die Fehlermeldung angezeigt und nur der Anzeige-Thread blockiert (+User Input).<br>
        Aber das eigentliche Programm kann weiterlaufen.
        <p>
        Klau

        Comment


        • #5
          Vielleicht drücke ich mich einfach falsch aus.

          Also, wenn ein Fehler auftritt, soll eine Meldung über JOptionPane angezeigt werden. Das Hauptprogramm soll nun auf einen Rückgabewert (z.B. user hat OK geklickt) von der JOptionPane-Meldung warten. Die JOptionPane soll nun (das ist das neue was ich will) nach z.B. 30 Sec. die StandartOption (z.B. Skip) zurückgeben. Dann kann das Hauptprogramm weiter laufen.

          Danke für deine Gedult

          Comment


          • #6
            Du schreibst doch eigentlich schon deine Lösung selbst.<br>
            Du musst nur eine Klasse von JOptionPane ableiten um im Konstruktor den Timer initialisieren.<br>
            Wenn der Timer dann abgelaufen ist, muss er ein Event auslösen.(z.B. "setValue(new Integer(JOptionPane.OK_OPTION));" für OK)
            <br><br>
            Hoffe, es hat geholfen

            Comment

            Working...
            X