Schmale Titelleiste für JDialog

Status
Nicht offen für weitere Antworten.

janrode

Mitglied
hallo zusammen,

hab ein mehr oder weniger schwieriges problem:

jframemn6.jpg

Hat irgendwer eine ahnung, wie ich bei einem JFrame oder JDialog, anstatt der großen, dicken titeleiste mit maximieren, minimieren button usw... so eine kleine hinbekomme ?
 

L-ectron-X

Gesperrter Benutzer
Derartige Titelleisten gibts nicht unter Java, das musst du selbst schreiben. Dazu gibts im Forum schon einige wenige Beispiele.

Edit: Hier mal Beispielcode:
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

public class OwnTitleFrameDemo extends JDialog {
   private JLabel messageLabel;
   private JButton button;
   private JPanel buttonPanel;
   private int xPos, yPos;

   public OwnTitleFrameDemo(Frame parent, String title, String message) {
      super(parent, true);
      setUndecorated(true);

      JPanel contentPanel = new JPanel(new BorderLayout());
      contentPanel.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));

      messageLabel = new JLabel(message, SwingConstants.CENTER);
      messageLabel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
      contentPanel.add(messageLabel, BorderLayout.CENTER);
      
      JPanel titlePanel = new JPanel(new BorderLayout());
      titlePanel.setBorder(BorderFactory.createEmptyBorder(0,3,0,0));
      titlePanel.setBackground(UIManager.getDefaults().getColor("InternalFrame.activeTitleBackground"));

      JLabel titleBar = new JLabel("<html>[b]"+title+"[/b]</html>");
      titleBar.setForeground(UIManager.getDefaults().getColor("InternalFrame.activeTitleForeground"));
      
      titleBar.addMouseMotionListener(new MouseMotionAdapter() {
         public void mouseDragged(MouseEvent e) {
            Point window = OwnTitleFrameDemo.this.getLocation();
            OwnTitleFrameDemo.this.setLocation(window.x+e.getX()-xPos, window.y+e.getY()-yPos);
         }
      });

      titleBar.addMouseListener(new MouseAdapter() {
         public void mousePressed(MouseEvent e) {
            xPos = e.getX();
            yPos = e.getY();
         }
      });
      
      titlePanel.add(titleBar, BorderLayout.CENTER);
      
      CloseButton closeButton = new CloseButton();
      titlePanel.add(closeButton, BorderLayout.EAST);

      button = new JButton("OK");
      button.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            closeDialog();
         }
      });

      buttonPanel = new JPanel();
      buttonPanel.setBorder(new EmptyBorder(new Insets(0, 0, 10, 0)));
      buttonPanel.add(button);

      contentPanel.add(titlePanel, BorderLayout.NORTH);
      contentPanel.add(buttonPanel, BorderLayout.SOUTH);
      add(contentPanel);

      pack();
      setLocationRelativeTo(parent);
      setVisible(true);
   }
   
   private void closeDialog() {
      setVisible(false);
      dispose();
   }
   
   public void setMessage(String message) {
      messageLabel.setText(message);
   }
   
   class CloseButton extends JButton {
      CloseButton() {
         super();
         setPreferredSize(new Dimension(15, 15));
         setMargin(new Insets(0, 0, 0, 0));
         setFocusPainted(false);
         setContentAreaFilled(false);
         
         addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
               closeDialog();
            }
         });
      }
      
      public void paintComponent(Graphics g) {
         super.paintComponent(g);
         g.setColor(Color.RED.darker());
         g.fillRect(2, 2, getSize().width-4, getSize().height-4);
         g.setColor(Color.WHITE);
         g.drawRect(2, 2, getSize().width-4, getSize().height-4);
         g.drawLine(5, 5, getSize().width-5, getSize().height-5);
         g.drawLine(getSize().width-5, 5, 5, getSize().height-5);
      }
   }

   public static void main(String[] args) {
      try {
         UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
      }
      catch(Exception e) {
         e.printStackTrace();
      }

      new OwnTitleFrameDemo(null, "OwnTitleFrameDemo", "Du siehst dir gerade eine Demonstration eines JDialogs mit eigener Titelleiste an.");
   }
}

Edit: Hab den noch gefunden: http://www.java-forum.org/de/viewtopic.php?t=13728
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Drachenbauer Hauptfenster erhält schmale Streifen rechts unt unten, wenn ich einen JDialog hinzufüge. AWT, Swing, JavaFX & SWT 19
A Titelleiste soll Pfad ausgeben AWT, Swing, JavaFX & SWT 16
C Swing In der Titelleiste den Namen und den vollständigen Pfad bzw URL des aktuellen Dokuments anzeigen AWT, Swing, JavaFX & SWT 25
P JFrame schrumpft bei Doppelklick auf die Titelleiste AWT, Swing, JavaFX & SWT 0
llabusch Titelleiste Dokumentenname und Pfad/URL anzeigen AWT, Swing, JavaFX & SWT 2
C JFrame ohne Titelleiste, aber mit Borders AWT, Swing, JavaFX & SWT 2
kodela Swing Icon in der Titelleiste "festnageln" AWT, Swing, JavaFX & SWT 6
K Swing Titelleiste zweckentfremden AWT, Swing, JavaFX & SWT 5
F Titelleiste von JDialog ausblenden mit Synthetica L&F AWT, Swing, JavaFX & SWT 2
S Swing JInternalFrame: Titelleiste entfernen AWT, Swing, JavaFX & SWT 5
hdi JFrame Titelleiste anpassen & setDefaultCloseOperation() AWT, Swing, JavaFX & SWT 3
G Sonderzeichen auf Titelleiste AWT, Swing, JavaFX & SWT 7
K Titelleiste ihrer Funktionen berauben AWT, Swing, JavaFX & SWT 6
G JFrame Titelleiste AWT, Swing, JavaFX & SWT 2
G Dialog ohne Titelleiste AWT, Swing, JavaFX & SWT 8
G Uhrzeit in der Titelleiste eines Fensters anzeigen? AWT, Swing, JavaFX & SWT 9
J Problem mit eigener Titelleiste und MouseMotionListener AWT, Swing, JavaFX & SWT 2
M JDialog ohne Titelleiste AWT, Swing, JavaFX & SWT 2
welterde Menü in der Titelleiste des JInternalFrame AWT, Swing, JavaFX & SWT 4
T JDialog - Titelleiste immer aktiv lassen AWT, Swing, JavaFX & SWT 4
L Hilfebutton in Titelleiste oder gute Alternative AWT, Swing, JavaFX & SWT 2
T JFrame - eigene Titelleiste AWT, Swing, JavaFX & SWT 8
M Frame ohne Titelleiste AWT, Swing, JavaFX & SWT 6
C Icon in der Titelleiste und Taskbar AWT, Swing, JavaFX & SWT 2
S Titelleiste ändern AWT, Swing, JavaFX & SWT 12
A Titelleiste entfernen AWT, Swing, JavaFX & SWT 4
T JInternalFrame ohne Titelleiste AWT, Swing, JavaFX & SWT 2
D Fenster ohne Titelleiste AWT, Swing, JavaFX & SWT 2
C Höhe der Titelleiste in JInternalFrame AWT, Swing, JavaFX & SWT 4
G Icon in der Titelleiste von JDialog setzen AWT, Swing, JavaFX & SWT 11
bummerland Fenster ohne Buttons ín der Titelleiste AWT, Swing, JavaFX & SWT 4
J Anzeige ID und Markierung für Knoten in Eclipse & Swing AWT, Swing, JavaFX & SWT 4
Juelin setzen background color für selected Row im Tableview AWT, Swing, JavaFX & SWT 21
Juelin Für Java-Spezialisten AWT, Swing, JavaFX & SWT 4
H JTabel - RowFilter Daten für Berechnung filtern AWT, Swing, JavaFX & SWT 6
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
M Eigene Java Klasse für allgemeine Grafikelemente AWT, Swing, JavaFX & SWT 8
M Vokabelprogram - Schleife für Liste soll schrittweise durchlaufen werden AWT, Swing, JavaFX & SWT 3
tommybalbor JavaFx Anwendung klappt nicht für macOs Nutzern, wenn ich zwei dependecies bei maven hinzufüge AWT, Swing, JavaFX & SWT 6
I Libraries für AWT für andere Grafik-Frameworks tauglich machen AWT, Swing, JavaFX & SWT 6
R auto. Importanweisungen für javafx funktioniert in Eclipse nicht mehr AWT, Swing, JavaFX & SWT 4
komplettlost Vollbildmodus für MacOs Nutzer geht nicht AWT, Swing, JavaFX & SWT 13
D JavaFX Schadensberechnung für Kartenspiel AWT, Swing, JavaFX & SWT 1
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
Jose05 JavaFX: eigene FXML-Datei für einen Button AWT, Swing, JavaFX & SWT 3
L actionListener für Button AWT, Swing, JavaFX & SWT 97
izoards Textfeld für Zeit AWT, Swing, JavaFX & SWT 4
CptK Wie funktioniert contains() für Path2D.Double AWT, Swing, JavaFX & SWT 10
T Getter und Setter für eine Stage AWT, Swing, JavaFX & SWT 6
P Swing Programm hängt sich bei Buttondruck auf? (GUI für "Chatbot" erstellen) AWT, Swing, JavaFX & SWT 15
T Button für GUI programmieren AWT, Swing, JavaFX & SWT 1
Z Switch Case für Buttons AWT, Swing, JavaFX & SWT 8
M Hough-Transformation für Kreise und andere Formen AWT, Swing, JavaFX & SWT 3
kodela HTML-tags für JLabel AWT, Swing, JavaFX & SWT 9
E Keystroke für Ausschneiden läßt sich nicht ändern AWT, Swing, JavaFX & SWT 2
M Swing Cell Renderer für Zeilenumbruch in JTable AWT, Swing, JavaFX & SWT 0
MiMa Package Struktur für GUI Programmierung AWT, Swing, JavaFX & SWT 26
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
B eclipse für JavaFx setuppen AWT, Swing, JavaFX & SWT 4
K Swing Struktur für TreeTable rekursiv aufbauen AWT, Swing, JavaFX & SWT 17
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
H Ein Patten für das Gluon Mobile Framework AWT, Swing, JavaFX & SWT 7
J Gibt es einen Grund für 16x16 anstatt z.B. 15x15 Tiles ? AWT, Swing, JavaFX & SWT 10
F JFormattedTextField für kg und Währung AWT, Swing, JavaFX & SWT 6
V Swing für jedes Kästchen eine eigene Farbe AWT, Swing, JavaFX & SWT 2
F Wie bekomme ich den Wert der ComboBox in eine Variable gespeichert welche ich für meinen ActionListener nutzen kann? AWT, Swing, JavaFX & SWT 3
Soloeco JavaFX Dreifachklick für MenuButton erforderlich AWT, Swing, JavaFX & SWT 2
L JavaFX Lösungsvorschläge für dieses coole Control AWT, Swing, JavaFX & SWT 8
looparda Suche Lib für Visualisierung von Graphen AWT, Swing, JavaFX & SWT 12
G LayoutManager Beliebige Anzahl von Panels für LayoutManager AWT, Swing, JavaFX & SWT 3
L Ein Actionlistener für ein Textfeld, anstatt viele Actionlistener für ein Textfeld AWT, Swing, JavaFX & SWT 7
S Swing Finde Grund für NullPointerExeption nicht. AWT, Swing, JavaFX & SWT 2
W JavaFX (j)Unittests für GUI AWT, Swing, JavaFX & SWT 0
B JavaFX JavaFX TableView PropertyValueFactory für Werte aus HashMap AWT, Swing, JavaFX & SWT 2
SchmidiMC Swing Vorschläge für ein Design AWT, Swing, JavaFX & SWT 5
Z JavaFX Pane für wechselnde Sub-Panes mit Auto-Resize AWT, Swing, JavaFX & SWT 2
S 2D-Grafik affine Transformation für Text-Shape AWT, Swing, JavaFX & SWT 0
G Swing Variable Elemente für GroupLayout AWT, Swing, JavaFX & SWT 18
kodela Accalerator für einige Menüoptionen funktioniert nicht mehr AWT, Swing, JavaFX & SWT 3
P Swing Empfehlungen für einfaches Computerspiel AWT, Swing, JavaFX & SWT 4
L DragDropped für jede Node AWT, Swing, JavaFX & SWT 0
temi JavaFX Lösungsansatz für Umsetzung gesucht AWT, Swing, JavaFX & SWT 4
J Swing JavaProgramm für Verschlüssen für eine Datei AWT, Swing, JavaFX & SWT 19
D DatePicker für Java Swing AWT, Swing, JavaFX & SWT 2
MiMa Programmeinstellungen für Anwendung?? AWT, Swing, JavaFX & SWT 54
heinz ketchup While-Schleife in einem Service für GUI AWT, Swing, JavaFX & SWT 22
L JavaFX Renderer für JavaFX AWT, Swing, JavaFX & SWT 2
MiMa GUI Controller für Border Pane als MVC Modell AWT, Swing, JavaFX & SWT 1
L Font für Dashboard AWT, Swing, JavaFX & SWT 3
F Swing JColorChooser für die JToggleButtons AWT, Swing, JavaFX & SWT 5
S JavaFX Optimierung für verschiedene Auflösungen AWT, Swing, JavaFX & SWT 12
L JavaFX Animation für Panel wechsel AWT, Swing, JavaFX & SWT 3
T Swing Drag and Drop für JComponents AWT, Swing, JavaFX & SWT 1
Kloso Swing Pseudocode für Strafurzeichnung AWT, Swing, JavaFX & SWT 4
F Konstruktor für "Vier Gewinnt" AWT, Swing, JavaFX & SWT 10
L JavaFX PdfViewer für JavaFX Anwendung AWT, Swing, JavaFX & SWT 6
R Swing Welche LayoutManager sind die richtigen für mich? AWT, Swing, JavaFX & SWT 11
L Event Handling Gui für Taschenrechner AWT, Swing, JavaFX & SWT 27
C Slider für Zeitauswahl AWT, Swing, JavaFX & SWT 3
M Limit für JFrame-Vergrößerung AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen


Oben