Trädvy Permalänk
Medlem
Plats
Lund
Registrerad
Maj 2006

Java + Synth

Har precis börjat pilla lite med Synth till Java och har en liten fråga.

hur ändrar jag bakgrund på en JFrame?

frame.setBackground() funkar ju i java-koden men

<style id="frame"> <state> <color type="BACKGROUND" value="GREEN" /> </state> </style> <bind style="frame" type="region" key="Frame"/>

funkar inte i xml-filen

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Mar 2008

Egentligen är JFrame.setBackground() en convenience-metod för JFrame.getContentPane().setBackground(). En content pane är den container (t.ex. en JPanel) i framen där man klistrar sina komponenter, och alltså även den sak som får bakgrundsfärgen. Utan att ha en aning om hur Synth fungerar, så kan jag gissa på att det är där skon klämmer - just att en JFrame inte har någon egentlig "bakgrundsfärg".

Trädvy Permalänk
Medlem
Plats
Lund
Registrerad
Maj 2006

ok. det var så jag själv hade räknat ut att det var. jag testade att sätta panelens bakgrundsfärg men då får vissa komponenter den färgen istället. I en spinner och en tabell blir bakgrunden färgad, inget annat.

får luska vidare. Tack för svaret.

Trädvy Permalänk
Medlem
Plats
Lund
Registrerad
Maj 2006

nu gick det.

satte ett namn på contentpanelen.

så här.

frame.getContentPane().setName("Frame");

sen körde jag på xml'en jag skrev ovan fast med name istället för region.