/* * Author Rajatt, modified by Andreas */ package com.googlecode.lanterna.issue; import java.io.IOException; import com.googlecode.lanterna.TerminalSize; import com.googlecode.lanterna.gui2.BasicWindow; import com.googlecode.lanterna.gui2.Button; import com.googlecode.lanterna.gui2.Direction; import com.googlecode.lanterna.gui2.LinearLayout; import com.googlecode.lanterna.gui2.MultiWindowTextGUI; import com.googlecode.lanterna.gui2.Panel; import com.googlecode.lanterna.gui2.TextBox; import com.googlecode.lanterna.gui2.Window; import com.googlecode.lanterna.screen.Screen; import com.googlecode.lanterna.screen.TerminalScreen; import com.googlecode.lanterna.terminal.DefaultTerminalFactory; import com.googlecode.lanterna.terminal.MouseCaptureMode; import com.googlecode.lanterna.terminal.Terminal; public class Issue274 { public static void main(String[] args) throws IOException, InterruptedException { final Terminal ter = new DefaultTerminalFactory() .setForceTextTerminal(true) .setMouseCaptureMode(MouseCaptureMode.CLICK) .setTelnetPort(1024) .createTerminal(); final Screen screen = new TerminalScreen(ter); screen.startScreen(); final MultiWindowTextGUI gui = new MultiWindowTextGUI(screen); Panel menubar = new Panel(); menubar.setLayoutManager(new LinearLayout(Direction.HORIZONTAL).setSpacing(1)); TextBox text = new TextBox(new TerminalSize(10,10),TextBox.Style.MULTI_LINE); menubar.addComponent(text); menubar.addComponent(new Button("Open", new Runnable(){ @Override public void run() { final Window op = new BasicWindow("Select file"); gui.addWindow(op); op.setComponent(new Button("Close", new Runnable(){ @Override public void run() { op.close(); } })); } })); menubar.addComponent(new Button("Save")); menubar.addComponent(new Button("Exit", new Runnable(){ public void run(){ gui.getActiveWindow().close(); } })); Window main = new BasicWindow("Test"); main.setComponent(menubar); try { gui.addWindowAndWait(main); } finally { screen.stopScreen(); } } }