use of com.spinyowl.legui.component.Panel in project legui by SpinyOwl.
the class SingleClassExample2 method createPersonPanel.
private static Panel createPersonPanel() {
Panel personPanel = new Panel();
personPanel.getStyle().setPosition(RELATIVE);
personPanel.getStyle().setMinHeight(80F);
Label personIcon = new Label("\uF009", 10, 10, 60, 60);
personIcon.getStyle().setFont(FontRegistry.MATERIAL_DESIGN_ICONS);
personIcon.getStyle().setFontSize(60F);
personIcon.getStyle().setBorder(new SimpleLineBorder(ColorConstants.black(), 1));
personPanel.add(personIcon);
Label username = new Label("John Doe", 80, 20, 100, 20);
username.getStyle().setFontSize(20f);
username.getStyle().setFont(FontRegistry.ROBOTO_BOLD);
personPanel.add(username);
Label position = new Label("Alien Protector", 80, 40, 100, 20);
position.getStyle().setFontSize(14f);
personPanel.add(position);
return personPanel;
}
use of com.spinyowl.legui.component.Panel in project legui by SpinyOwl.
the class SingleClassExample method generateOnFly.
private static List<Component> generateOnFly() {
List<Component> list = new ArrayList<>();
Widget widget = new Widget(10, 50, 380, 240);
widget.getContainer().getStyle().setDisplay(FLEX);
widget.setDraggable(false);
TabbedPanel tabbedPanel = new TabbedPanel();
tabbedPanel.getStyle().setPosition(PositionType.RELATIVE);
tabbedPanel.getStyle().getFlexStyle().setFlexGrow(1);
tabbedPanel.getStyle().getFlexStyle().setFlexShrink(1);
tabbedPanel.getStyle().setMargin(10F);
tabbedPanel.getStyle().setBorder(new SimpleLineBorder(ColorConstants.black(), 1F));
widget.getContainer().add(tabbedPanel);
Tab tab1 = new Tab("Planes", new Label("Show all planes available"));
Tab tab2 = new Tab("Cars", new Label("Show all cars available"));
Tab tab3 = new Tab("Boats", new Label("Show all boats available"));
tabbedPanel.addTab(tab1);
tabbedPanel.addTab(tab2);
tabbedPanel.addTab(tab3);
AtomicInteger tabIdx = new AtomicInteger();
Button addTabButton = new Button("Add tab", 180, 10, 70, 30);
addTabButton.getListenerMap().addListener(MouseClickEvent.class, event -> {
if (MouseClickAction.CLICK.equals(event.getAction())) {
String tabName = "Tab #" + tabIdx.incrementAndGet();
Component tabComponent = new Panel();
tabComponent.getStyle().getBackground().setColor(ColorUtil.randomColor());
tabComponent.getStyle().setPadding(10F, 20F);
tabbedPanel.addTab(new Tab(tabName, tabComponent));
}
});
Button removeTabButton = new Button("Remove tab", 260, 10, 70, 30);
removeTabButton.getListenerMap().addListener(MouseClickEvent.class, event -> {
if (MouseClickAction.CLICK.equals(event.getAction()) && tabbedPanel.tabCount() > 0) {
tabbedPanel.removeTab(tabbedPanel.getCurrentTab());
}
});
Button changeStripPosition = new Button("Switch", 340, 10, 50, 30);
changeStripPosition.getListenerMap().addListener(MouseClickEvent.class, event -> {
if (MouseClickAction.CLICK.equals(event.getAction())) {
TabStripPosition current = tabbedPanel.getTabStripPosition();
if (TOP == current) {
tabbedPanel.setTabStripPosition(LEFT);
} else if (LEFT == current) {
tabbedPanel.setTabStripPosition(BOTTOM);
} else if (BOTTOM == current) {
tabbedPanel.setTabStripPosition(RIGHT);
} else {
tabbedPanel.setTabStripPosition(TOP);
}
}
});
widget.getTitle().getListenerMap().addListener(KeyEvent.class, event -> {
if (event.getAction() == GLFW_RELEASE) {
if (event.getKey() == GLFW_KEY_1) {
tabbedPanel.setTabWidth(30);
} else if (event.getKey() == GLFW_KEY_2) {
tabbedPanel.setTabHeight(120);
} else if (event.getKey() == GLFW_KEY_3) {
tabbedPanel.setTabStripPosition(LEFT);
} else if (event.getKey() == GLFW_KEY_4) {
tabbedPanel.setTabWidth(120);
} else if (event.getKey() == GLFW_KEY_5) {
tabbedPanel.setTabHeight(30);
} else if (event.getKey() == GLFW_KEY_6) {
tabbedPanel.setTabStripPosition(TOP);
}
}
});
list.add(addTabButton);
list.add(removeTabButton);
list.add(changeStripPosition);
list.add(widget);
return list;
}
use of com.spinyowl.legui.component.Panel in project legui by SpinyOwl.
the class BoxLayoutDemo method createGuiElements.
@Override
protected void createGuiElements(Frame frame) {
Component frameContainer = frame.getContainer();
frameContainer.getStyle().setDisplay(DisplayType.FLEX);
frameContainer.getStyle().getBackground().setColor(ColorConstants.lightGray());
c1 = new Panel();
frameContainer.add(c1);
c2 = new Panel(0, 0, 100, 100);
frameContainer.add(c2);
c11 = new Panel();
c1.add(c11);
c12 = new Panel();
c1.add(c12);
c1.getStyle().getBackground().setColor(ColorConstants.lightGreen());
c1.getStyle().setHeight(50f);
c1.getStyle().setLeft(0f);
c1.getStyle().setRight(0f);
c2.getStyle().getBackground().setColor(ColorConstants.lightBlue());
c2.getStyle().setHeight(50f);
c2.getStyle().setLeft(0f);
c2.getStyle().setRight(0f);
c2.getStyle().setBottom(0f);
c1.getStyle().setDisplay(DisplayType.FLEX);
c1.getStyle().getFlexStyle().setFlexDirection(FlexDirection.ROW);
c11.getStyle().setPosition(PositionType.ABSOLUTE);
c11.getStyle().setTop(10f);
c11.getStyle().setRight(0f);
c11.getStyle().setWidth(50f);
c11.getStyle().setHeight(50f);
c12.getStyle().setPosition(PositionType.ABSOLUTE);
c12.getStyle().setTop(10f);
c12.getStyle().setRight(50f);
c12.getStyle().setWidth(50f);
c12.getStyle().setHeight(50f);
}
use of com.spinyowl.legui.component.Panel in project legui by SpinyOwl.
the class ExampleGui method createWidgetsWithSomeButtons.
private void createWidgetsWithSomeButtons() {
Widget widget = new Widget("Hello widget", 250, 170, 100, 100);
widget.setTitleHeight(20);
widget.getTitleContainer().getStyle().getBackground().setColor(ColorConstants.lightGreen());
widget.getStyle().setTextColor(ColorConstants.black());
String innerText = "Inner Widget; Resize events: ";
Widget inner = new Widget(innerText + 0);
inner.setResizable(false);
inner.getStyle().setPosition(PositionType.RELATIVE);
inner.getStyle().getFlexStyle().setFlexGrow(1);
inner.getStyle().setMargin(10f);
inner.getContainer().getStyle().getBackground().setColor(ColorConstants.lightGreen());
widget.getContainer().getStyle().setDisplay(DisplayType.FLEX);
widget.getContainer().add(inner);
AtomicInteger counter = new AtomicInteger();
inner.getListenerMap().addListener(ChangeSizeEvent.class, e -> {
counter.getAndIncrement();
inner.getTitle().getTextState().setText(innerText + "; Resize events: " + counter.get());
});
this.add(widget);
Button turnWidVisible = new Button("", 360, 280, 20, 20);
turnWidVisible.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) event -> {
if (CLICK == (event.getAction())) {
widget.show();
}
});
Icon bgIm = new ImageIcon(ImageLoader.loadImage("com/spinyowl/legui/demo/1.png"));
bgIm.setSize(new Vector2f(20, 20));
turnWidVisible.getStyle().getBackground().setIcon(bgIm);
Icon hbgIm = new ImageIcon(ImageLoader.loadImage("com/spinyowl/legui/demo/2.png"));
hbgIm.setSize(new Vector2f(20, 20));
// turnWidVisible.setHoveredBackgroundIcon(hbgIm);
Icon pbIm = new ImageIcon(ImageLoader.loadImage("com/spinyowl/legui/demo/3.png"));
pbIm.setSize(new Vector2f(20, 20));
// turnWidVisible.setPressedBackgroundIcon(pbIm);
this.add(turnWidVisible);
Widget widget2 = new Widget("Hello 2 widget", 250, 310, 100, 100);
widget2.setTitleHeight(20);
widget2.setCloseButtonColor(ColorConstants.white());
widget2.getCloseButton().getStyle().getBackground().setColor(ColorConstants.black());
widget2.getTitleContainer().getStyle().getBackground().setColor(ColorConstants.lightGreen());
widget2.getStyle().setTextColor(ColorConstants.black());
widget2.setDraggable(false);
widget2.setMinimizable(true);
Button turnDraggable = new Button("Draggable", 10, 10, 80, 20);
turnDraggable.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) event -> {
if (event.getAction() == CLICK) {
Dialog dialog = new Dialog("Question:", 300, 100);
Label questionLabel = new Label("Are you sure want to turn " + (widget2.isDraggable() ? "off" : "on") + "this widget draggable?", 10, 10, 200, 20);
Button yesButton = new Button("Yes", 10, 50, 50, 20);
Button noButton = new Button("No", 70, 50, 50, 20);
yesButton.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) e -> {
if (CLICK == e.getAction()) {
widget2.setDraggable(!widget2.isDraggable());
dialog.close();
}
});
noButton.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) e -> {
if (CLICK == e.getAction()) {
dialog.close();
}
});
dialog.getContainer().add(questionLabel);
dialog.getContainer().add(yesButton);
dialog.getContainer().add(noButton);
dialog.show(event.getFrame());
}
});
widget2.getContainer().add(turnDraggable);
this.add(widget2);
Button turnWidVisible2 = new Button("", 360, 310, 20, 20);
turnWidVisible2.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) event -> {
if (CLICK == event.getAction()) {
widget2.show();
}
});
this.add(turnWidVisible2);
Widget widget3 = new Widget("Hello 2 widget", 250, 420, 100, 100);
widget3.setTitleHeight(20);
widget3.setTitleEnabled(false);
widget3.getTitleContainer().getStyle().getBackground().setColor(ColorConstants.lightGreen());
widget3.setCloseable(false);
widget3.setMinimizable(true);
widget3.getStyle().setTextColor(ColorConstants.black());
this.add(widget3);
Button turnWidVisible3 = new Button("", 360, 340, 20, 20);
turnWidVisible3.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) event -> {
if (CLICK == event.getAction()) {
widget3.show();
}
});
this.add(turnWidVisible3);
widget3.getContainer().add(new Panel(5, 5, 20, 20));
widget3.getContainer().add(new Panel(30, 5, 20, 20));
widget3.getContainer().add(new Panel(30, 30, 20, 20));
widget3.getContainer().add(new Panel(5, 30, 20, 20));
Button b = new Button(55, 5, 40, 20);
b.getStyle().setFont(FontRegistry.MATERIAL_ICONS_REGULAR);
b.getStyle().setVerticalAlign(MIDDLE);
b.getStyle().setHorizontalAlign(CENTER);
b.getStyle().setFontSize(16f);
String up = TextUtil.cpToStr(0xE5D8);
String down = TextUtil.cpToStr(0xE5DB);
b.getTextState().setText(down);
b.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) event -> {
if (event.getAction() == CLICK) {
widget3.setTitleEnabled(!widget3.isTitleEnabled());
b.getTextState().setText(widget3.isTitleEnabled() ? up : down);
}
});
widget3.getContainer().add(b);
Button b2 = new Button(55, 30, 40, 20);
b2.getStyle().setVerticalAlign(MIDDLE);
b2.getStyle().setHorizontalAlign(CENTER);
b2.getStyle().setFontSize(16f);
String up2 = "-";
String down2 = "+";
b2.getTextState().setText(down2);
b2.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) event -> {
if (event.getAction() == CLICK) {
widget3.setCloseable(!widget3.isCloseable());
b2.getTextState().setText(widget3.isCloseable() ? up2 : down2);
}
});
widget3.getContainer().add(b2);
widget3.getStyle().setMinWidth(100f);
widget3.getStyle().setMinHeight(50f);
widget3.getStyle().setMaxWidth(400f);
widget3.getStyle().setMaxHeight(150f);
}
use of com.spinyowl.legui.component.Panel in project legui by SpinyOwl.
the class ExampleGui method createNinePanels.
private void createNinePanels() {
Panel p1 = new Panel(1 * 20, 10, 10, 10);
this.add(p1);
p1.getListenerMap().addListener(FocusEvent.class, (FocusEventListener) System.out::println);
Panel p2 = new Panel(2 * 20, 10, 10, 10);
this.add(p2);
p2.getListenerMap().addListener(FocusEvent.class, (FocusEventListener) System.out::println);
Panel p3 = new Panel(3 * 20, 10, 10, 10);
this.add(p3);
p3.getListenerMap().addListener(FocusEvent.class, (FocusEventListener) System.out::println);
Panel p4 = new Panel(4 * 20, 10, 10, 10);
this.add(p4);
p4.getListenerMap().addListener(FocusEvent.class, (FocusEventListener) System.out::println);
Panel p5 = new Panel(5 * 20, 10, 10, 10);
this.add(p5);
p5.getListenerMap().addListener(FocusEvent.class, (FocusEventListener) System.out::println);
Panel p6 = new Panel(6 * 20, 10, 10, 10);
this.add(p6);
p6.getListenerMap().addListener(FocusEvent.class, (FocusEventListener) System.out::println);
Panel p7 = new Panel(7 * 20, 10, 10, 10);
this.add(p7);
p7.getListenerMap().addListener(FocusEvent.class, (FocusEventListener) System.out::println);
Panel p8 = new Panel(8 * 20, 10, 10, 10);
this.add(p8);
p8.getListenerMap().addListener(FocusEvent.class, (FocusEventListener) System.out::println);
Panel p9 = new Panel(9 * 20, 10, 10, 10);
this.add(p9);
p9.getListenerMap().addListener(FocusEvent.class, (FocusEventListener) System.out::println);
}
Aggregations