LookAndFeel LookAndFeel nur für einen Frame?

KingNothing

Neues Mitglied
Hallo,
ich möchte gerne das Hauptfenster meiner Anwendung mit einem eigenen LnF gestalten, alle anderen Dialoge jedoch im nativen LnF darstellen.
Gibt es dafür eine elegante Lösung?

Die einzige Möglichkeit die mir eingefallen ist bis jetzt ist das Hauptfenster nicht mehr über einen LookAndFeel zu gestalten, sondern einfach eigene Controls abzuleiten die das aussehen dann mit SetBackground etc ändern, finde ich allerdings weniger elegant.
 

Foermchen82

Top Contributor
Dir wird aber wohl nichts anderes übrig bleiben, als das manuell zu ändern. Bei jedem repaint wird das aktuell gesetzte L&F verwendet. Wenn du also innerhalb eines Programmes verschiedene L&F verwenden willst, müsstest du immer sicher gehen dass gerade das richtige gesetzt ist. Da jedoch auch Java selbst repaints durch verschiedene Aktionen durchführt, ist das nahezu unmöglich.
 

slawaweis

Bekanntes Mitglied
Hallo,
ich möchte gerne das Hauptfenster meiner Anwendung mit einem eigenen LnF gestalten, alle anderen Dialoge jedoch im nativen LnF darstellen.
Gibt es dafür eine elegante Lösung?
es geht schon, aber nur wenn das PLAF auch passend programmiert wurde. Bei Swing wird das PLAF über Delegatoren realisiert, die beim Erzeugen einer Komponente, oder dem nachträglichen aktualisieren, gesetzt werden. Das passiert über die "SwingUtilities.updateComponentTreeUI" Methode. Dabei muss aber das PLAF so gebaut sein, dass es nur während des Installierens die PLAF-Properties aus dem UIManager zieht. D.h. man muss es einfach mit den verschiedenen PLAFs ausprobieren, ob es miteinander klappt.

Das Vorgehen dabei ist:

1. PLAF setzen
2. Frame erzeugen
3. anderes PLAF setzen
4. anderes Frame erzeugen

Java:
package plaf;

import java.awt.*;

import javax.swing.*;

public class PlafTest
{
 public static void main(String [] args)
  {
  setPLAF("javax.swing.plaf.metal.MetalLookAndFeel");
  createFrame("MetalLookAndFeel", 20, 20);
  setPLAF("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
  createFrame("MotifLookAndFeel", 340, 20);
  setPLAF("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
  createFrame("WindowsLookAndFeel", 660, 20);
  }

 public static JFrame createFrame(String title, int x, int y)
  {
  JFrame frame = new JFrame(title);
  frame.setSize(300, 200);
  frame.setLocation(x, y);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setLayout(new GridLayout(3, 3, 5, 5));
  for(int i = 0; i < 9; i++)
     frame.add(new JButton("Test " + (i+1)));
  frame.setVisible(true);
  return frame;
  }

 public static void setPLAF(String plaf)
  {
  JFrame.setDefaultLookAndFeelDecorated(true);
  JDialog.setDefaultLookAndFeelDecorated(true);
  try { UIManager.setLookAndFeel(plaf); }
  catch(Exception e) { e.printStackTrace(System.err); }
  }
}

Alternativ:

1. PLAF setzen
2. FrameUI aktualisieren

Java:
UIManager.setLookAndFeel(lnfName);
SwingUtilities.updateComponentTreeUI(frame);
frame.pack();

Slawa
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
B LookAndFeel für einen Komponenten AWT, Swing, JavaFX & SWT 2
U LookAndFeel für eine Komponente AWT, Swing, JavaFX & SWT 2
T LookAndFeel LookAndFeel funktioniert nicht beim JFrame wechsel AWT, Swing, JavaFX & SWT 3
F Setzen des LookAndFeel AWT, Swing, JavaFX & SWT 4
T LayoutManager LookAndFeel-Problem AWT, Swing, JavaFX & SWT 4
N LookAndFeel Wie kann ich mein eigenes LookAndFeel machen? AWT, Swing, JavaFX & SWT 6
I LookAndFeel setzen AWT, Swing, JavaFX & SWT 17
I LookAndFeel AWT, Swing, JavaFX & SWT 15
GUI-Programmer Translucent JFrame mit System-LookAndFeel AWT, Swing, JavaFX & SWT 4
D LookAndFeel setzen AWT, Swing, JavaFX & SWT 2
hdi Swing ListCellRenderer und LookAndFeel AWT, Swing, JavaFX & SWT 11
J Swing LookAndFeel Klassenname herausfinden AWT, Swing, JavaFX & SWT 2
FuriKuri LookAndFeel in Linux setzen AWT, Swing, JavaFX & SWT 16
T Swing Substance LookAndFeel verhält sich merkwürdig AWT, Swing, JavaFX & SWT 4
G LookAndFeel AWT, Swing, JavaFX & SWT 5
G setLookAndFeel to default LookAndFeel? AWT, Swing, JavaFX & SWT 4
D LookAndFeel mit WindowBlinds AWT, Swing, JavaFX & SWT 2
DeeDee0815 LookAndFeel während der Laufzeit verstellen AWT, Swing, JavaFX & SWT 4
I LookAndFeel AWT, Swing, JavaFX & SWT 3
B Frage zu Synth LookAndFeel AWT, Swing, JavaFX & SWT 4
G Windows LookAndFeel - Classpath AWT, Swing, JavaFX & SWT 6
G Ändern der Standartschrift vom LookAndFeel AWT, Swing, JavaFX & SWT 4
G JButton LookAndFeel AWT, Swing, JavaFX & SWT 2
O LookAndFeel und Performance AWT, Swing, JavaFX & SWT 7
M Problem mit LookAndFeel auf unterschiedlichen Rechnern AWT, Swing, JavaFX & SWT 3
B XP-LookAndFeel + modifizierter JTableHeader unsichtbar AWT, Swing, JavaFX & SWT 3
M LookAndFeel? Erst beim 2.Mal Öffnen eines Menüs? AWT, Swing, JavaFX & SWT 3
T LookAndFeel Erstellung :: Problem mit JTabbedPanes AWT, Swing, JavaFX & SWT 2
D Font eines JLabels verändern, JLabel mit LookAndFeel-Format AWT, Swing, JavaFX & SWT 2
N LookAndFeel - Nicht gleich alles überschreiben AWT, Swing, JavaFX & SWT 8
G JFileChooser: leeres Fenster nach LookAndFeel-Wechel AWT, Swing, JavaFX & SWT 7
M LookAndFeel und Mnemonische Kürzel AWT, Swing, JavaFX & SWT 7
G LookAndFeel in extra Fenster einstellbar AWT, Swing, JavaFX & SWT 2
B wie behält man die aktuellen LookAndFeel einstellungen? AWT, Swing, JavaFX & SWT 7
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

Ähnliche Java Themen

Neue Themen


Oben