- java.lang.Object
-
- com.googlecode.lanterna.gui2.AbstractTextGUIThread
-
- com.googlecode.lanterna.gui2.SameTextGUIThread
-
- All Implemented Interfaces:
TextGUIThread
public class SameTextGUIThread extends AbstractTextGUIThread
ThisTextGUIThreadimplementation is assuming the GUI event thread will be the same as the thread that creates theTextGUIobjects. This means on the thread you create the GUI on, when you are done you pass over control to lanterna and let it manage the GUI for you. When the GUI is done, you'll get back control again over the thread. This is different fromSeparateTextGUIThreadwhich spawns a new thread that manages the GUI and leaves the current thread for you to handle.Here are two examples of how to use
SameTextGUIThread:In the example above, we use very precise control over events processing and when to update the GUI. In the example below we pass some of that control over to Lanterna, since the thread won't resume until the window is closed.MultiWindowTextGUI textGUI = new MultiWindowTextGUI(new SameTextGUIThread.Factory(), screen); // ... add components ... while(weWantToContinueRunningTheGUI) { if(!textGUI.getGUIThread().processEventsAndUpdate()) { Thread.sleep(1); } } // ... tear down ...MultiWindowTextGUI textGUI = new MultiWindowTextGUI(new SameTextGUIThread.Factory(), screen); Window window = new MyWindow(); textGUI.addWindowAndWait(window); // This call will run the event/update loop and won't return until "window" is closed // ... tear down ...- See Also:
SeparateTextGUIThread,TextGUIThread
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSameTextGUIThread.FactoryDefault factory class forSameTextGUIThread, you need to pass this to theTextGUIconstructor if you want it to use this class-
Nested classes/interfaces inherited from interface com.googlecode.lanterna.gui2.TextGUIThread
TextGUIThread.ExceptionHandler
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.ThreadguiThread-
Fields inherited from class com.googlecode.lanterna.gui2.AbstractTextGUIThread
customTasks, exceptionHandler, textGUI
-
-
Constructor Summary
Constructors Modifier Constructor Description privateSameTextGUIThread(TextGUI textGUI)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ThreadgetThread()Returns the Java thread which is processing GUI events and updating the screen-
Methods inherited from class com.googlecode.lanterna.gui2.AbstractTextGUIThread
invokeAndWait, invokeLater, processEventsAndUpdate, setExceptionHandler
-
-
-
-
Constructor Detail
-
SameTextGUIThread
private SameTextGUIThread(TextGUI textGUI)
-
-
Method Detail
-
getThread
public java.lang.Thread getThread()
Description copied from interface:TextGUIThreadReturns the Java thread which is processing GUI events and updating the screen- Returns:
- Thread which is processing events and updating the screen
-
-