GUI als SingleTon

Status
Nicht offen für weitere Antworten.
M

MuesLee

Gast
Hallo,

hier mal wieder eine kleine Anfängerfrage. Bitte schlagt mich nicht dafür :oops:

Ich würde gerne eine GUI-Anwendung als Singleton laufen lassen. Mein erster Gedanke war, dies über eine statische Klasse zu steuern?

Code:
public class GUIController {
	
	private static GUI g = null;
	
	private static void createAndShowGUI() {
		if (g == null){
			g = new GUI();
		}
		// Display the window.
		g.setVisible(true);
	}
	
	public static void main(String[] args){		
		createAndShowGUI();
	}

}

Leider will es so nicht klappen? Weiß jemand Rat, Danke[/code]
 
M

MuesLee

Gast
Aus der GUI wird per Start-Button ein Webserver auf einem bestimmten Port gestartet. Wenn nun über eine zweite GUI-Instanz ebenfalls der Serverstart angestoßen wird, erfolgt logischerweise eine Exception. So, dachte ich mir halt umgehe ich das Ganze mit einem Singleton :bahnhof:
 

@x.l

Bekanntes Mitglied
lager doch den server start in nen thread aus

ansonsten:

Code:
/** necessary to implement the Singleton pattern */
private static GUI instance = new GUI();
public static GUI getInstance(){return instance;}

private GUI(){
}

public static void main() {
    GUI.getInstance();
}
 

Wildcard

Top Contributor
Ein Singelton ist nur ein Singelton innerhalb einer VM.
Wird das Programm ein zweites mal gestartet handelt es sich um eine neue VM Instanz.
 
M

MuesLee

Gast
Hallo,

danke schon mal für die rasche Antwort.

Zu dem separaten Server-Thread. Das habe ich eigentlich schon gemacht.

Per Start-Button wird hier ein Thread

Code:
public void actionPerformed(java.awt.event.ActionEvent e) {
serverthread = new ServerThread(loggingFile);
serverthread.start();
.
.
.

Hier hatte ich anfangs das Problem, dass die GUI nach Abspaltung des Threads stand. Durch Nachforschungen in diversen Foren bin ich dann auf eine Möglichkeit gestoßen, erst einen Thread abzuspalten, der dann wiederum den eigentlichen ServerThread abspaltet. Das habe ich so umgesetzt und die GUI verhält sich nun auch so gewünscht, weiß nicht ob sich das auch anders lösen lässt. Aber das ist eigentlich gar nicht mein Hauptanliegen :lol:

Was ich nämlich auch schon probiert hab, die Exception vom ServerThread an die GUI weiterzureichen. Hier stoße ich jedoch auch auf ein Problem, und zwar kann ich die run()-Methode des Threads nicht mit einem throws-Attribut versehen? Gibts ne andere Möglichkeit die Exception durchzureichen?

Hier noch ein Code-Fragment aus dem ServerThread der den eigentlichen Webserver startet:

Code:
	public void run(){
		server = new HTTPServer(8088, loggingFile);
		server.run();
	}


Vielen Dank nochmals :applaus:
 
B

bygones

Gast
Wildcard hat gesagt.:
Ein Singelton ist nur ein Singelton innerhalb einer VM.
Wird das Programm ein zweites mal gestartet handelt es sich um eine neue VM Instanz.
ausserdem - waere es nicht sinnvoller die Server anfrage zu kontrollieren anstatt der gesamten GUI ?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
J Implementierung von Observer und Singleton-Pattern Java Basics - Anfänger-Themen 9
W Sinn eines Singleton ? Java Basics - Anfänger-Themen 14
O Singleton Java Basics - Anfänger-Themen 5
R Methode in Singleton Klasse Java Basics - Anfänger-Themen 1
O Singleton Verständnis Java Basics - Anfänger-Themen 4
A Klasse,Vererbung,Interface,Singleton,Thread Java Basics - Anfänger-Themen 5
S Singleton (Design Patterns) Java Basics - Anfänger-Themen 16
R OOP Singleton Java Basics - Anfänger-Themen 10
U Vererben von Singleton Java Basics - Anfänger-Themen 17
S Singleton - Daten einspielen Java Basics - Anfänger-Themen 5
K Warum ist ein Singleton kein Best Practise? Java Basics - Anfänger-Themen 3
M Singleton mit Parametern im Konstruktor Java Basics - Anfänger-Themen 18
D Singleton beim JFrame zerstören Java Basics - Anfänger-Themen 4
L Java Serialisierung Singleton Java Basics - Anfänger-Themen 6
A JBoss-Anwendung soll im Singleton-Mode laufen Java Basics - Anfänger-Themen 6
Luk10 Problem mit Singleton bzw statischer Referenz! Java Basics - Anfänger-Themen 16
S Instanz(en) einer Singleton-Klasse Java Basics - Anfänger-Themen 11
S Statische Klassen/ Singleton Java Basics - Anfänger-Themen 13
J Warum verwendet man Singleton? Java Basics - Anfänger-Themen 7
B Was ist der unterschied zwischen Singleton und Strategy? Java Basics - Anfänger-Themen 6
S Singleton lazy Java Basics - Anfänger-Themen 8
A ist das ein Singleton-Pattern? Java Basics - Anfänger-Themen 6
P Singleton-Implementation Java Basics - Anfänger-Themen 8
F singleton Java Basics - Anfänger-Themen 4
T Singleton Java Basics - Anfänger-Themen 13
Antoras Singleton oder Controller / Datenverwaltungsklasse? Java Basics - Anfänger-Themen 10
D Objekte anlegen und Singleton Pattern Java Basics - Anfänger-Themen 21
D Denkfehler Singleton Java Basics - Anfänger-Themen 53
X Singleton - In diesem Fall sinnvoll? Java Basics - Anfänger-Themen 22
S Fragen zu synchronized + Singleton! Java Basics - Anfänger-Themen 10
M Singleton Pattern Java Basics - Anfänger-Themen 35
J Singleton Pattern Java Basics - Anfänger-Themen 5
S Singleton Pattern passend hierfür? Java Basics - Anfänger-Themen 60
M Mp3 Player mit Singleton Java Basics - Anfänger-Themen 8
B Singleton und Resourcebundle Java Basics - Anfänger-Themen 7
G Singleton Pattern Java Basics - Anfänger-Themen 7
D Singleton in Java implementieren Java Basics - Anfänger-Themen 6
H singleton Synchronisations Problem? Java Basics - Anfänger-Themen 2
M Singleton verwenden, aber wie? Java Basics - Anfänger-Themen 3
H Singleton mit Attributen Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben