webForumDet fria alternativet

Flytta värden mellan klasser

1 svar · 221 visningar · startad av Karamell

KaramellMedlem sedan juni 200199 inlägg
#1

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
#2

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

123 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)