Aussehen von JFrame bzw JInternalFrame ändern... wie?

Status
Nicht offen für weitere Antworten.

Tiakaniz

Mitglied
Hallo,

Reicht es wenn ich von JFrame bzw JInternalFrame erbe und dann die drawComponent()-Methode überschreibe wenn das geht oder muss ich eine neue Componente schreiben damit ich das Aussehen ändern kann? Oder gibt es vielleicht noch eine einfacherere Lösung? :)

Danke im voraus.
 

Dragonfire

Bekanntes Mitglied
Was genau willst du denn ändern?

Hintergrundsfarbe?
Rahmen?
Titelleiste?

Ein Beispiel wäre schön ;)
 

Tiakaniz

Mitglied
Eigener Rahmen,eigene Titelleiste und eigene Buttons für schliessen, maximieren minimieren. Also im Prinzip alles :).
 

Dragonfire

Bekanntes Mitglied
Alles ist ein bisschen übertrieben,
dass wäre ein komplett neues Aussehen jeder Swing-Klasse
und das sieht dann nach einem eigenen Style (LookAndFeel) aus.

Wenn du nur Rahmen und Schließen Buttons haben möchte,
dann würde ich das selbst nachbauen.

Frame auf setUndecorated(true) setzten
und dann z.B. selbst eine eigene Schließen Grafik mit einem
Listener oben rechts platzieren.
Rahmen auch einfach am Rand selbst platzieren.

Mal sehen was die Experten dazu sagen ;)

PS.: Alle Funktionen wie minimieren, maximieren und schließen dürfte die API bereitstellen.
 
Zuletzt bearbeitet:

Tiakaniz

Mitglied
naja den rahmen einfach am Rand setzen sieht glaub ich nicht gut aus wenn ich mit JInternalFrames in einem Frame arbeite weil dort bestimmt noch etwas neben dem Rand sehen würde (habs aber nicht getestet). Die nächste Frage wo du es schon ansprichst wäre dann ob dann halt möglich ist ein eigenes Look & Feel zu schreiben? Oder habt ihr noch mehr Ideen?
 
Zuletzt bearbeitet:

Wildcard

Top Contributor
Die nächste Frage wo du es schon ansprichst wäre dann ob dann halt möglich ist ein eigenes Look & Feel zu schreiben? Oder habt ihr noch mehr Idden?
Möglich ja, praktikabel nein. Da wärst du einige Monate beschäftigt.
Was spricht gegen meinen Vorschlag (ausser das es nicht ganz im Sinne der Swing Erfinder ist?)
 

Tiakaniz

Mitglied
Dein Vorschlag ist in soweit sehr gut und ich bin schon dabei das zu testen aber meine Vermutung ist dass es mit den Rändern nicht funktionieren wird und dass wenn ich undecorated setze und ich die neuen Ränder versuche ganz aussen zu zeichen sehe ich dennoch mindestens dünne weisse Linien aussen welche dann doch sehr unschön wären. Zudem interessiert mich ja auch (wie in einem anderen Thread schon erwähnt) eine Skalierungs-Animation wenn ich maximiere bzw minimiere usw... ich werde es erstmal testen. Wobei meine naheliegendste Lösung halt wäre alle Componenten die ich brauche selbst zu implementieren um das zu lösen was ich will. Aber ich will natürlich auch noch mehr Ideen hören damit ich abwägen kann welche für mich persönlich die beste Lösung wäre. Also falls dir noch etwas einfällt, ich teste auf jeden Fall sogut wie alle Ideen:).
 

Wildcard

Top Contributor
Gleich vorweg, mit JFrame funktioniert es nicht, aber JInternalFrame ist lightweight, daher lässt sich dort sehr viel anpassen.
Und zu deinen Animationen, warum nimmst du nicht einfach ein Betriebssystem das so etwas unterstüzt, denn auf Applikationsebene ist es sinnfrei. MacOS und Linux bieten dir doch derartigen optic sugar,
 

Tiakaniz

Mitglied
Das stimmt ... das habe ich nicht bedacht... aber für meine Zwecke reichen auch diese Anpassungen für die JInternalFrames. Und dann habe ich nochmal eine Frage am Rande: Wenn ich das JFrame im FSEM laufen lasse dann zeigt er mir sogar bei undecorated noch leichte Spuren vom Rand bzw der Leiste oben an... elso es ist etwas dunkler als das Weiss im Inneren. Aber warum?
 

Tiakaniz

Mitglied
Ja aber eben Windows nicht :(. Wenn das Programm nur für mich wäre und nicht auch meine Freunde (die Windows haben :( ) dann wäre das kein Problem. Und ich habe schon eine relativ gute Lösung für das Problem gefunden so dass es auf allen Plattformen läuft.
 

Dragonfire

Bekanntes Mitglied
Nur mal so eine Frage zu den Animationen;
Wird das bei Java nicht kompliziert.

Wenn man zum Beispiel so einen Vergrößerungseffekt haben will,
dann müsste man ja einen durchsichtigen Frame haben
und dessen Größe dann ändern, oder?

PS.:
Wann siehst du beim JFrame den weiße Lienen?
Beim Bewegen? (geht das überhaupt?)
Ich hab ein Undecorated JFrame als Startbild (Ladebild)
und da sind keine weißen Lienen...
 

Tiakaniz

Mitglied
Full Screen Exclusive Mode... also eigentlich Vollbild ohne irgendwelche Rahmen oder so. Wie in Spielen ( aber keine Angst ich mach kein Spiel :D). Ich bau halt in einem JFrame eine recht flexible eigene GUI welche aber nur die Vorarbeit ist für ein späteres Programm (oder auch mehrere). Und deswegen auch der Effekt und das absolut andere Aussehen für die JInternalFrames :).
 

Wildcard

Top Contributor
Dann hast du zB einen Rand weil dein Layout Manager margins definiert oder du irgendwo eine Border hast, oder ähnliches.
 

Tiakaniz

Mitglied
Ich vermute die weissen Linien sind im FSEM dann sichtbar aber ich teste noch.

Zu der Animation: nein ich habe mir das so gedacht dass ich den IFrame in bestimmten Zeitabständen einfach vergrößere um einen bestimmten Wert bis er maximiert ist.
 

Wildcard

Top Contributor
Nur mal so eine Frage zu den Animationen;
Wird das bei Java nicht kompliziert.
Nicht komplizierter als bei anderen Sprachen. Ist letzlich kein Java Problem, sondern eine Frage des verwendeten Toolkits und wie einfach sich so etwas mit diesem Toolkit (und dessen erweiterungen, wie etwa JavaFX für das Swing Toolkit) realisieren lässt.

Wenn man zum Beispiel so einen Vergrößerungseffekt haben will,
dann müsste man ja einen durchsichtigen Frame haben
und dessen Größe dann ändern, oder?
Was spricht denn dagegen einen durchsichtigen Frame zu haben?
 

Tiakaniz

Mitglied
Ok Danke Wildcard. Daran habe ich absolut nicht gedacht. Ich werde das ma überprüfen ob man da irgendwas im Layout einstellen kann! :)
 

Dragonfire

Bekanntes Mitglied
Wofür ist die setUndecorated(true) Methode denn gut,
wenn noch Margins und Border existieren?
(außer das die Titelleiste und die auffällige Umrandung weg ist)
 

Tiakaniz

Mitglied
Ja ich hoffe es geht. Aber jetzt habe ich noch das Problem das ich halt das JInternalFrame nicht einfach undecorated setzen kann. Muss ich das irgendwie über die Panes machen?
 

Wildcard

Top Contributor
Ich sagte doch das ein JInternalFrame lightweight ist. Eine einfache Komposition von JComponents, das kannst du manipulieren wie du lustig bist.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Swing JButton aussehen AWT, Swing, JavaFX & SWT 12
J SplitPane Aussehen des Divider verändern AWT, Swing, JavaFX & SWT 7
L LookAndFeel JInternalFrame aussehen isSelected() true vs false AWT, Swing, JavaFX & SWT 0
K Aussehen des Buttons resetten AWT, Swing, JavaFX & SWT 4
C Aussehen von JSlider ändern AWT, Swing, JavaFX & SWT 7
S GUI aussehen unter Windows und Linux (und Mac) AWT, Swing, JavaFX & SWT 13
S Metal-Buttons so aussehen lassen wie Nimbus Buttons? AWT, Swing, JavaFX & SWT 3
L JLabel wie TableHeader aussehen lassen AWT, Swing, JavaFX & SWT 7
M Swing JTextPane mit JScrollPane soll aussehen wie JLabel AWT, Swing, JavaFX & SWT 3
D Aussehen von GUI-Komponenten ans Betriebssystem anpassen AWT, Swing, JavaFX & SWT 3
hdi Problem mit ToolTip: Aussehen/Verzögerung AWT, Swing, JavaFX & SWT 7
E Komponenten die wie bestimmte Symbole aussehen AWT, Swing, JavaFX & SWT 6
R AWT [Anfänger] keine atives Aussehen von Buttons AWT, Swing, JavaFX & SWT 4
N Swing JDialog Aussehen ? AWT, Swing, JavaFX & SWT 2
K Unterschiedliches Aussehen der JSlider? AWT, Swing, JavaFX & SWT 4
G Aussehen der Swing-Komponenten AWT, Swing, JavaFX & SWT 2
J AWT-Textfeld Aussehen ändern AWT, Swing, JavaFX & SWT 13
P JFileChooser: Das Aussehen/Fkt. modifizieren AWT, Swing, JavaFX & SWT 6
M Aussehen von Label verändern? AWT, Swing, JavaFX & SWT 3
E transparenz (alpha) - komisches aussehen von textfeldern! AWT, Swing, JavaFX & SWT 2
H Merkwürdiges Aussehen einer GUI-Komponente AWT, Swing, JavaFX & SWT 2
H Aussehen des Panels AWT, Swing, JavaFX & SWT 24
H Mehrere Panels auf JFrame AWT, Swing, JavaFX & SWT 8
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
Paty JFrame anfänger bräuchte hilfestellung AWT, Swing, JavaFX & SWT 7
Apfelbaum2005 Swing JFrame mehrere JPanels mit unterschiedlichen Formen hinzufügen AWT, Swing, JavaFX & SWT 1
N AWT JPanel zu Jframe hinzufügen AWT, Swing, JavaFX & SWT 2
Mausposition relativ zu JFrame bekommen AWT, Swing, JavaFX & SWT 6
sserio JFrame setIconImmage() funktioniert nicht AWT, Swing, JavaFX & SWT 3
N CPU Belastung bei offenem JFrame auf fast 100% AWT, Swing, JavaFX & SWT 15
N Knopf ganz oben (JFrame) AWT, Swing, JavaFX & SWT 9
N JFrame löscht alles, wenn groß gemacht AWT, Swing, JavaFX & SWT 9
N jFrame löscht am Ende des Threads alles AWT, Swing, JavaFX & SWT 2
N JFrame loescht alles, sobald der Thread zuende ist AWT, Swing, JavaFX & SWT 22
E JFrame resizing AWT, Swing, JavaFX & SWT 2
E Swing Mausposition auf einem JFrame erkennen AWT, Swing, JavaFX & SWT 5
Lunar Swing JFrame erstellt; weitere Elemente werden nicht eingefügt/sind nicht zu sehen AWT, Swing, JavaFX & SWT 4
L JFrame Gui in anderer Methode aufrufen AWT, Swing, JavaFX & SWT 0
H Beim JFrame erstellen ein anderes schließen AWT, Swing, JavaFX & SWT 0
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
H Tabelle in JFrame einfügen AWT, Swing, JavaFX & SWT 1
VPChief Ein JFrame ohne setUndecorated(true); nicht verschiebbar machen. AWT, Swing, JavaFX & SWT 6
R Swing Hat mein JFrame meinen Component? AWT, Swing, JavaFX & SWT 2
R Swing Design des oberen Balkens in JFrame AWT, Swing, JavaFX & SWT 2
B KeyListener auf JFrame reagiert nicht AWT, Swing, JavaFX & SWT 8
R Swing Komponente im JFrame überschreinen sich AWT, Swing, JavaFX & SWT 7
R Swing Ein gezeichneten String aus dem JFrame löschen AWT, Swing, JavaFX & SWT 5
J Exception beim JFrame erstellen AWT, Swing, JavaFX & SWT 6
T JFrame aktualisieren AWT, Swing, JavaFX & SWT 2
T Bilder bei einem JFrame einfügen AWT, Swing, JavaFX & SWT 4
R Swing Background Image in JFrame implementieren AWT, Swing, JavaFX & SWT 40
L Verbindung von Code und JFrame AWT, Swing, JavaFX & SWT 4
L JFrame wird zu klein erstellt AWT, Swing, JavaFX & SWT 7
dereki2000 Swing JFrame nah hinzufügen von Komponenten akualisieren. AWT, Swing, JavaFX & SWT 2
T JFrame Bild einfügen AWT, Swing, JavaFX & SWT 9
T JavaFX JFrame verhalten wie JOptionPane (ErrorMessage) AWT, Swing, JavaFX & SWT 1
T LookAndFeel LookAndFeel funktioniert nicht beim JFrame wechsel AWT, Swing, JavaFX & SWT 3
P Swing Mehrere JPanels auf ein JFrame hinzufügen? AWT, Swing, JavaFX & SWT 2
F JFrame zeigt nicht alle Elemente auf anhieb an AWT, Swing, JavaFX & SWT 4
P JPanle, JFrame und Graphics AWT, Swing, JavaFX & SWT 2
T Reihenfolge der Komponenten im einem JFrame AWT, Swing, JavaFX & SWT 8
K Grafik in JFrame einpassen AWT, Swing, JavaFX & SWT 3
D Mit Jmenu neue JFrame öffnen AWT, Swing, JavaFX & SWT 2
J BackgroundJPanel passt sich dem JFrame nicht an AWT, Swing, JavaFX & SWT 7
C Swing JFrame ändert Größe AWT, Swing, JavaFX & SWT 0
J JFrame Panel hinzufügen AWT, Swing, JavaFX & SWT 10
K JFrame bei JUnit Tests AWT, Swing, JavaFX & SWT 2
W Swing Hilfe beim Einbinden von Bildern in einem JFrame AWT, Swing, JavaFX & SWT 8
D JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 1
R Swing JPanels auf JFrame auf verfügbaren Platz aufblasen AWT, Swing, JavaFX & SWT 4
JR2205 Swing JxMaps Einbindung Netbeans JFrame AWT, Swing, JavaFX & SWT 4
Zar von Domarus JFrame zu BufferedImage konvertieren AWT, Swing, JavaFX & SWT 3
K KeyListener ohne JFrame AWT, Swing, JavaFX & SWT 9
Joker4632 JFrame in eine Runnable auslagern? AWT, Swing, JavaFX & SWT 4
M Limit für JFrame-Vergrößerung AWT, Swing, JavaFX & SWT 8
GreenTeaYT Wie vergebe Ich den Jframe Title den Namen aus einem Element von der Arraylist ? AWT, Swing, JavaFX & SWT 4
MaxG. JFrame Größe ändern AWT, Swing, JavaFX & SWT 16
P Jframe Bild einfügen, Hintergrund Farbe ändern, und Button schrift Größe ändern AWT, Swing, JavaFX & SWT 2
G Swing Wenn ich mein JFrame Fenster vergrößere die Inhalte anpassen AWT, Swing, JavaFX & SWT 1
G JFrame Probleme AWT, Swing, JavaFX & SWT 2
Ghostman1711 JFrame closing AWT, Swing, JavaFX & SWT 3
R Engineklasse mit JFrame AWT, Swing, JavaFX & SWT 4
M Default-WindowListener JFrame entfernen (Stichwort: iconified) AWT, Swing, JavaFX & SWT 4
ms_cikar Jframe zurück zu frame1 AWT, Swing, JavaFX & SWT 14
C Jframe ohne Rahmen AWT, Swing, JavaFX & SWT 3
lumpigerAffe Swing Jframe aktualisieren AWT, Swing, JavaFX & SWT 27
A Swing JFrame neuzeichnen lassen, position neu berechnen lassen? AWT, Swing, JavaFX & SWT 9
R JFrame schließen AWT, Swing, JavaFX & SWT 9
P Swing JFrame minimiert sich bei Doppelklick auf die Titel-Leiste AWT, Swing, JavaFX & SWT 17
krgewb AWT JFrame soll sich wie Dialog verhalten AWT, Swing, JavaFX & SWT 9
I JFrame an Bildschirm anpassen AWT, Swing, JavaFX & SWT 1
I JFrame Bild strecken und auf Bildschirmgröße anpassen AWT, Swing, JavaFX & SWT 2
P JFrame schrumpft bei Doppelklick auf die Titelleiste AWT, Swing, JavaFX & SWT 0
G JFrame - manuell Größe verändern AWT, Swing, JavaFX & SWT 6
D JFrame mindestgröße erzwingen AWT, Swing, JavaFX & SWT 2
H Swing JFrame mit JFXPanel NPE bei dispose() AWT, Swing, JavaFX & SWT 6
C Swing Borderlayout im JFrame AWT, Swing, JavaFX & SWT 4
B JButton erscheint in JFrame, obwohl er diesem nicht zugeordnet wurde! AWT, Swing, JavaFX & SWT 1
G Swing JFrame öffnen bei Pidgin Benachrichtigung AWT, Swing, JavaFX & SWT 5
OlafHD JLabel im JFrame Zentrieren AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben