Sitter och klurar lite... Har en klass som är huvudfönstret... sen har jag en klass som är inställningsfönsret. I Inställningsfönsret ska du (genom en radioknapp) välja bakgrundsfärg på huvudfönstret.
Såhär har jag gjort:
Huvudfönstret
setup sett = new setup();
if(sett.tema == 1)
{
txt.setBackground(Color.red);
}
direkt i setup-klassen intar jag tema och i public setup har jag en lyssnare och när actionPerformed så: tema = 1;
Jag satte lite popuprutor som kollade att värdena stämmer så direkt när jag klickar i radioknappen så ändras temavärdet till 1 men i huvudfönsret ändras aldrig temavariabeln.. den är alltid 0 som när den intas.
ViktorMedlem sedan aug. 20021 752 inlägg Såhär kan man lösa detta,
public class MainWindow extends JFrame
{
public void setBackground(Color color)
{
this.setBackground(color);
}
public void showSettings()
{
new Settings(this).show();
}
}
public class Settings extends JFrame implements ActionListener
{
private MainWindow mw=null;
public Settings(MainWindow mw)
{
this.mw=mw;
}
public void actionPerformed(ActionEvent event)
{
if(event.getSource()==YOUR_RADIO_BUTTON)
{
mw.setBackground(YOUR_COLOR_PICKER.getColor());
}
}
}
När du skapar ditt settings fönster så skickar du med en referens till huvud fönstret och använder sedan den för att ändra inställningar i huvud fönstret från ditt settings fönster.
/Viktor