Chris: Schaltflächen bei JFrame entfernen

Hallo!

Gibt es eine Möglichkeit die drei Knöpfe für Schließen, Verkleinern und Vergrößern eines JFrames zu entfernen ohne die ganze Titelzeile zu entfernen?

Ich kenne leider nur setUndecorated(), was aber alles entfernt....

Grüsse, Chris

  1. Hallo,

    Gibt es eine Möglichkeit die drei Knöpfe für Schließen, Verkleinern und Vergrößern eines JFrames zu entfernen ohne die ganze Titelzeile zu entfernen?

    Wenn du setResizable(false) aufrufst, werden die Buttons zum Minimieren
    und Maximieren ausgegraut. Die Buttons selber wirst du mit großer
    Sicherheit nicht wegkriegen. Den Schließen-Knopf wirst du nicht
    ausgegraut kriegen.
    Vermutlich bieten die meisten Fenstersysteme diese Möglichkeit auch
    gar nicht.

    Wofür brauchst du das denn? Bist du dir sicher, daß es den Anwender
    nicht eher verwirrt, wenn du ihm die Buttons wegnimmst?

    Gruß
    Slyh

    1. Hallo,

      Wenn du setResizable(false) aufrufst, werden die Buttons zum Minimieren
      und Maximieren ausgegraut. Die Buttons selber wirst du mit großer
      Sicherheit nicht wegkriegen.

      Hier müßte ich noch ergänzend hinzufügen, daß ein JDialog (anstatt
      eines JFrame) die Minimier- und Maximier-Buttons nicht besitzt.

      Allerdings gehört ein Dialog eigentlich immer zu einem Hauptfenster.
      Man kann zwar auch einen JDialog erzeugen und anzeigen lassen,
      allerdings erscheint dieser (zumindest unter Windows) nicht in der
      Taskleiste. Man kommt nur über einen Taskwechsel (Alt + Tab) ran.
      Macht ja auch Sinn, eben weil ein Dialog immer zu einem Hauptfenster
      gehört.
      (Mir würde keine Möglichkeit einfallen, wie man den JDialog dazu
      bewegt, trotzdem in der Taskleiste zu erscheinen. Ich möchte aber
      nicht ausschließen, daß es möglich ist...)

      Den Schließen-Knopf kriegst du trotzdem nicht weg. :)

      Gruß
      Slyh

      1. Ich will die Knöpfe aus folgendem Grund entfernen:

        Bei einer Berechnung will ich den aktuellen Fortschritt anzeigen lassen, das ganze Prinzip mit JProgressBar und den dazugehörigen Threads blicke ich einfach nicht so recht, da habe ich etwas "geschummelt".

        Ich lade beim Start der Berechnung ein JFrame (ohne Inhalt, dieser würde ja nicht gezeichnet werden ohne invokeLater, Threads etc..), also nur die Titelzeile, und ändere im Laufe der Berechnung einfach den Fenstertitel.

        So kann ich aktuelle Prozentzahlen anzeigen lassen und sie werden auch wirklich angezeigt! Sieht übrigens besser aus als es sich anhört!

        Ist nicht sehr elegant, aber es tut. Daher wollte ich die Standardknöpfe ausblenden.
        Danke für deine Hilfe, das mit dem grau färben werd ich machen!

        Grüsse, Chris