Search in sources :

Example 1 with Label

use of com.spinyowl.legui.component.Label in project legui by SpinyOwl.

the class ExampleGui method createSelectBox.

private void createSelectBox() {
    SelectBox<Object> selectBox = new SelectBox<>(20, 260, 100, 20);
    selectBox.addElement(0.25f);
    selectBox.addElement(0.5d);
    selectBox.addElement(1);
    selectBox.addElement("MyText");
    selectBox.addElement(new Long(2L));
    selectBox.setVisibleCount(7);
    selectBox.setElementHeight(20);
    selectBox.addSelectBoxChangeSelectionEventListener((SelectBoxChangeSelectionEventListener<Object>) event -> {
        Dialog dialog = new Dialog("SelectBox clicked", 300, 100);
        Label valueLabel = new Label("Value: " + event.getNewValue().toString(), 10, 10, 300, 20);
        dialog.getContainer().add(valueLabel);
        Label classLabel = new Label("Class: " + event.getNewValue().getClass().getName(), 10, 30, 300, 20);
        dialog.getContainer().add(classLabel);
        dialog.show(event.getFrame());
    });
    this.add(selectBox);
    Button sbb = new Button("Add element", 130, 260, 70, 20);
    sbb.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) event -> {
        if (event.getAction() == CLICK) {
            selectBox.addElement("Dynamic#" + selectBox.getElements().size());
        }
    });
    this.add(sbb);
}
Also used : TextInput(com.spinyowl.legui.component.TextInput) Button(com.spinyowl.legui.component.Button) ChangeSizeEvent(com.spinyowl.legui.component.event.component.ChangeSizeEvent) PRESS(com.spinyowl.legui.event.MouseClickEvent.MouseClickAction.PRESS) BASELINE(com.spinyowl.legui.component.optional.align.VerticalAlign.BASELINE) SliderChangeValueEventListener(com.spinyowl.legui.component.event.slider.SliderChangeValueEventListener) Shadow(com.spinyowl.legui.style.shadow.Shadow) SliderChangeValueEvent(com.spinyowl.legui.component.event.slider.SliderChangeValueEvent) Themes(com.spinyowl.legui.theme.Themes) KeyEvent(com.spinyowl.legui.event.KeyEvent) Theme(com.spinyowl.legui.theme.Theme) RELEASE(com.spinyowl.legui.event.MouseClickEvent.MouseClickAction.RELEASE) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ImageLoader(com.spinyowl.legui.image.loader.ImageLoader) TOP(com.spinyowl.legui.component.optional.align.VerticalAlign.TOP) SelectBoxChangeSelectionEventListener(com.spinyowl.legui.component.event.selectbox.SelectBoxChangeSelectionEventListener) DropEvent(com.spinyowl.legui.event.DropEvent) UpdateLabelWidthListener(com.spinyowl.legui.component.misc.listener.label.UpdateLabelWidthListener) CursorEnterEventListener(com.spinyowl.legui.listener.CursorEnterEventListener) CursorEnterEvent(com.spinyowl.legui.event.CursorEnterEvent) TextUtil(com.spinyowl.legui.util.TextUtil) HorizontalAlign(com.spinyowl.legui.component.optional.align.HorizontalAlign) PositionType(com.spinyowl.legui.style.Style.PositionType) Animation(com.spinyowl.legui.animation.Animation) ColorConstants(com.spinyowl.legui.style.color.ColorConstants) LEFT(com.spinyowl.legui.component.optional.align.HorizontalAlign.LEFT) Icon(com.spinyowl.legui.icon.Icon) RadioButtonGroup(com.spinyowl.legui.component.RadioButtonGroup) MIDDLE(com.spinyowl.legui.component.optional.align.VerticalAlign.MIDDLE) PasswordInput(com.spinyowl.legui.component.PasswordInput) Label(com.spinyowl.legui.component.Label) Orientation(com.spinyowl.legui.component.optional.Orientation) LabelWidthChangeEvent(com.spinyowl.legui.component.event.label.LabelWidthChangeEvent) GLFW(org.lwjgl.glfw.GLFW) CheckBox(com.spinyowl.legui.component.CheckBox) List(java.util.List) MOUSE_BUTTON_LEFT(com.spinyowl.legui.input.Mouse.MouseButton.MOUSE_BUTTON_LEFT) FocusEvent(com.spinyowl.legui.event.FocusEvent) Vector2f(org.joml.Vector2f) CLICK(com.spinyowl.legui.event.MouseClickEvent.MouseClickAction.CLICK) TooltipTextSizeChangeEvent(com.spinyowl.legui.component.event.tooltip.TooltipTextSizeChangeEvent) Component(com.spinyowl.legui.component.Component) MouseClickEventListener(com.spinyowl.legui.listener.MouseClickEventListener) ImageView(com.spinyowl.legui.component.ImageView) VerticalAlign(com.spinyowl.legui.component.optional.align.VerticalAlign) ScrollablePanel(com.spinyowl.legui.component.ScrollablePanel) SelectBox(com.spinyowl.legui.component.SelectBox) RadioButton(com.spinyowl.legui.component.RadioButton) SplitPanel(com.spinyowl.legui.component.SplitPanel) Style(com.spinyowl.legui.style.Style) CENTER(com.spinyowl.legui.component.optional.align.HorizontalAlign.CENTER) ToggleButton(com.spinyowl.legui.component.ToggleButton) ProgressBar(com.spinyowl.legui.component.ProgressBar) BOTTOM(com.spinyowl.legui.component.optional.align.VerticalAlign.BOTTOM) FontRegistry(com.spinyowl.legui.style.font.FontRegistry) Dialog(com.spinyowl.legui.component.Dialog) ImageIcon(com.spinyowl.legui.icon.ImageIcon) TextDirection(com.spinyowl.legui.style.font.TextDirection) RIGHT(com.spinyowl.legui.component.optional.align.HorizontalAlign.RIGHT) Tooltip(com.spinyowl.legui.component.Tooltip) Panel(com.spinyowl.legui.component.Panel) ScrollBar(com.spinyowl.legui.component.ScrollBar) MouseClickEvent(com.spinyowl.legui.event.MouseClickEvent) KeyEventListener(com.spinyowl.legui.listener.KeyEventListener) DisplayType(com.spinyowl.legui.style.Style.DisplayType) FocusEventListener(com.spinyowl.legui.listener.FocusEventListener) Slider(com.spinyowl.legui.component.Slider) SimpleLineBorder(com.spinyowl.legui.style.border.SimpleLineBorder) Widget(com.spinyowl.legui.component.Widget) TextArea(com.spinyowl.legui.component.TextArea) Vector4f(org.joml.Vector4f) Button(com.spinyowl.legui.component.Button) RadioButton(com.spinyowl.legui.component.RadioButton) ToggleButton(com.spinyowl.legui.component.ToggleButton) SelectBox(com.spinyowl.legui.component.SelectBox) Dialog(com.spinyowl.legui.component.Dialog) Label(com.spinyowl.legui.component.Label)

Example 2 with Label

use of com.spinyowl.legui.component.Label in project legui by SpinyOwl.

the class ExampleGui method createShadowWidget.

private Widget createShadowWidget() {
    Widget shadowWidget = new Widget(20, 310, 200, 120);
    shadowWidget.getTitleTextState().setText("Shadow test widget");
    shadowWidget.setCloseable(false);
    shadowWidget.setResizable(false);
    shadowWidget.setAscendible(true);
    shadowWidget.getStyle().setShadow(new Shadow());
    shadowWidget.getStyle().getShadow().setColor(ColorConstants.red());
    Slider hOffsetSlider = new Slider(110, 5 + 20 * 0, 80, 10);
    shadowWidget.getContainer().add(hOffsetSlider);
    hOffsetSlider.setValue(50f);
    hOffsetSlider.addSliderChangeValueEventListener((e) -> shadowWidget.getStyle().getShadow().sethOffset(hOffsetSlider.getValue() - 50f));
    Label hOffsetLabel = new Label(10, 2 + 20 * 0, 90, 14);
    hOffsetLabel.getStyle().setFontSize(12f);
    hOffsetLabel.getHoveredStyle().setFontSize(14f);
    hOffsetLabel.getTextState().setText("HOffset: ");
    shadowWidget.getContainer().add(hOffsetLabel);
    Slider vOffsetSlider = new Slider(110, 2 + 20 * 1, 80, 14);
    shadowWidget.getContainer().add(vOffsetSlider);
    vOffsetSlider.setValue(50f);
    vOffsetSlider.addSliderChangeValueEventListener((e) -> shadowWidget.getStyle().getShadow().setvOffset(vOffsetSlider.getValue() - 50f));
    Label vOffsetLabel = new Label(10, 2 + 20 * 1, 90, 14);
    vOffsetLabel.getTextState().setText("VOffset: ");
    shadowWidget.getContainer().add(vOffsetLabel);
    Slider blurSlider = new Slider(110, 2 + 20 * 2, 80, 14);
    shadowWidget.getContainer().add(blurSlider);
    blurSlider.addSliderChangeValueEventListener((e) -> shadowWidget.getStyle().getShadow().setBlur(blurSlider.getValue()));
    Label blurLabel = new Label(10, 2 + 20 * 2, 90, 14);
    blurLabel.getTextState().setText("Blur: ");
    shadowWidget.getContainer().add(blurLabel);
    Slider spreadSlider = new Slider(110, 2 + 20 * 3, 80, 14);
    shadowWidget.getContainer().add(spreadSlider);
    spreadSlider.setValue(50f);
    spreadSlider.addSliderChangeValueEventListener((e) -> shadowWidget.getStyle().getShadow().setSpread(spreadSlider.getValue() - 50f));
    Label spreadLabel = new Label(10, 2 + 20 * 3, 90, 14);
    spreadLabel.getTextState().setText("Spread: ");
    shadowWidget.getContainer().add(spreadLabel);
    Slider transparencySlider = new Slider(110, 2 + 20 * 4, 80, 14);
    shadowWidget.getContainer().add(transparencySlider);
    transparencySlider.addSliderChangeValueEventListener((e) -> {
        shadowWidget.getStyle().getBackground().getColor().w = 1 - transparencySlider.getValue() / 100f;
        shadowWidget.getContainer().getStyle().getBackground().getColor().w = 1 - transparencySlider.getValue() / 100f;
    });
    Label transparencyLabel = new Label(10, 2 + 20 * 4, 90, 14);
    transparencyLabel.getTextState().setText("W Transparency: ");
    shadowWidget.getContainer().add(transparencyLabel);
    return shadowWidget;
}
Also used : Slider(com.spinyowl.legui.component.Slider) Widget(com.spinyowl.legui.component.Widget) Label(com.spinyowl.legui.component.Label) Shadow(com.spinyowl.legui.style.shadow.Shadow)

Example 3 with Label

use of com.spinyowl.legui.component.Label in project legui by SpinyOwl.

the class MultipleWindowsMultipleThreadsExample method generateOnFly.

private static List<Component> generateOnFly() {
    List<Component> list = new ArrayList<>();
    Label label = new Label(20, 60, 200, 20);
    label.getTextState().setText("Generated on fly label");
    label.getStyle().setTextColor(ColorConstants.red());
    RadioButtonGroup group = new RadioButtonGroup();
    RadioButton radioButtonFirst = new RadioButton("First", 20, 90, 200, 20);
    RadioButton radioButtonSecond = new RadioButton("Second", 20, 110, 200, 20);
    radioButtonFirst.setRadioButtonGroup(group);
    radioButtonSecond.setRadioButtonGroup(group);
    list.add(label);
    list.add(radioButtonFirst);
    list.add(radioButtonSecond);
    return list;
}
Also used : ArrayList(java.util.ArrayList) Label(com.spinyowl.legui.component.Label) RadioButtonGroup(com.spinyowl.legui.component.RadioButtonGroup) RadioButton(com.spinyowl.legui.component.RadioButton) Component(com.spinyowl.legui.component.Component)

Example 4 with Label

use of com.spinyowl.legui.component.Label 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;
}
Also used : Panel(com.spinyowl.legui.component.Panel) Label(com.spinyowl.legui.component.Label) SimpleLineBorder(com.spinyowl.legui.style.border.SimpleLineBorder)

Example 5 with Label

use of com.spinyowl.legui.component.Label 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;
}
Also used : ArrayList(java.util.ArrayList) Widget(com.spinyowl.legui.component.Widget) Label(com.spinyowl.legui.component.Label) TabbedPanel(com.spinyowl.legui.component.TabbedPanel) SimpleLineBorder(com.spinyowl.legui.style.border.SimpleLineBorder) TabbedPanel(com.spinyowl.legui.component.TabbedPanel) Panel(com.spinyowl.legui.component.Panel) Tab(com.spinyowl.legui.component.TabbedPanel.Tab) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Button(com.spinyowl.legui.component.Button) TabStripPosition(com.spinyowl.legui.component.TabbedPanel.TabStripPosition) Component(com.spinyowl.legui.component.Component)

Aggregations

Label (com.spinyowl.legui.component.Label)11 Component (com.spinyowl.legui.component.Component)7 Panel (com.spinyowl.legui.component.Panel)5 RadioButton (com.spinyowl.legui.component.RadioButton)5 RadioButtonGroup (com.spinyowl.legui.component.RadioButtonGroup)5 Widget (com.spinyowl.legui.component.Widget)5 SimpleLineBorder (com.spinyowl.legui.style.border.SimpleLineBorder)5 ArrayList (java.util.ArrayList)5 Button (com.spinyowl.legui.component.Button)4 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)4 Slider (com.spinyowl.legui.component.Slider)3 Animation (com.spinyowl.legui.animation.Animation)2 CheckBox (com.spinyowl.legui.component.CheckBox)2 Dialog (com.spinyowl.legui.component.Dialog)2 ImageView (com.spinyowl.legui.component.ImageView)2 PasswordInput (com.spinyowl.legui.component.PasswordInput)2 ProgressBar (com.spinyowl.legui.component.ProgressBar)2 ScrollBar (com.spinyowl.legui.component.ScrollBar)2 ScrollablePanel (com.spinyowl.legui.component.ScrollablePanel)2 SelectBox (com.spinyowl.legui.component.SelectBox)2