menues angepasst und vorlage für dropdown implementiert

This commit is contained in:
Yvonne Schmidt 2024-11-20 03:24:27 +01:00
parent aa47dd579f
commit 8ba4ea2819
4 changed files with 43 additions and 3 deletions

View File

@ -36,7 +36,7 @@ doubleGradient.texture = texture(name: "/com/simsilica/lemur/icons/double-gradie
generateMips: false) generateMips: false)
def orangeBorder = TbtQuadBackgroundComponent.create( def orangeBorder = TbtQuadBackgroundComponent.create(
texture(name: "/com/simsilica/lemur/icons/bordered-gradient.png", // Replace with an appropriate texture if needed texture(name: "/com/simsilica/lemur/icons/border.png", // Replace with an appropriate texture if needed
generateMips: false), generateMips: false),
1, 1, 1, 126, 126, 1, 1, 1, 126, 126,
1f, false) 1f, false)
@ -56,6 +56,7 @@ selector("header", "pp") {
insets = new Insets3f(2, 2, 2, 2) insets = new Insets3f(2, 2, 2, 2)
color = color(1, 0.5, 0, 1) color = color(1, 0.5, 0, 1)
textHAlignment = HAlignment.Center textHAlignment = HAlignment.Center
textVAlignment = VAlignment.Center
} }
selector("container", "pp") { selector("container", "pp") {
@ -146,6 +147,8 @@ selector("title", "pp") {
background.texture = texture(name: "/com/simsilica/lemur/icons/double-gradient-128.png", background.texture = texture(name: "/com/simsilica/lemur/icons/double-gradient-128.png",
generateMips: false) generateMips: false)
insets = new Insets3f(2, 2, 2, 2) insets = new Insets3f(2, 2, 2, 2)
textHAlignment = HAlignment.Center
textVAlignment = VAlignment.Center
buttonCommands = stdButtonCommands buttonCommands = stdButtonCommands
} }
@ -160,6 +163,8 @@ selector("button", "pp") {
// Use insets to create a margin/padding effect for the inner background // Use insets to create a margin/padding effect for the inner background
insets = new Insets3f(3, 3, 3, 3) // Adjust the border thickness insets = new Insets3f(3, 3, 3, 3) // Adjust the border thickness
textHAlignment = HAlignment.Center
textVAlignment = VAlignment.Center
buttonCommands = stdButtonCommands buttonCommands = stdButtonCommands
} }
@ -235,10 +240,14 @@ selector("tab.button", "pp") {
selector("settings-title", "pp") { selector("settings-title", "pp") {
fontSize = 48 // Set font size fontSize = 48 // Set font size
background = new QuadBackgroundComponent(color(0.4157f, 0.4235f, 0.4392f, 1.0f)) // Grey background background = new QuadBackgroundComponent(color(0.4157f, 0.4235f, 0.4392f, 1.0f)) // Grey background
textHAlignment = HAlignment.Center
textVAlignment = VAlignment.Center
} }
selector("menu-button", "pp") { selector("menu-button", "pp") {
fontSize = 40 // Set font size fontSize = 40 // Set font size
background = new QuadBackgroundComponent(color(0.4157f, 0.4235f, 0.4392f, 1.0f)) // Grey background background = new QuadBackgroundComponent(color(0.4157f, 0.4235f, 0.4392f, 1.0f)) // Grey background
textHAlignment = HAlignment.Center
textVAlignment = VAlignment.Center
} }

View File

@ -9,6 +9,7 @@ dependencies {
implementation project(":monopoly:model") implementation project(":monopoly:model")
implementation project(":monopoly:server") implementation project(":monopoly:server")
implementation 'com.simsilica:lemur-proto:1.13.0'
implementation libs.jme3.desktop implementation libs.jme3.desktop
implementation libs.lemur implementation libs.lemur
implementation libs.lemurproto implementation libs.lemurproto

View File

@ -12,6 +12,7 @@ import com.simsilica.lemur.Label;
import com.simsilica.lemur.TextField; import com.simsilica.lemur.TextField;
import com.simsilica.lemur.component.SpringGridLayout; import com.simsilica.lemur.component.SpringGridLayout;
import com.simsilica.lemur.style.ElementId;
import pp.monopoly.client.MonopolyApp; import pp.monopoly.client.MonopolyApp;
import pp.monopoly.client.StartMenu; import pp.monopoly.client.StartMenu;
@ -34,8 +35,10 @@ public class CreateGameMenu {
menuContainer.setPreferredSize(new Vector3f(600, 400, 0)); // Feste Größe des Containers menuContainer.setPreferredSize(new Vector3f(600, 400, 0)); // Feste Größe des Containers
// Titel // Titel
Label title = menuContainer.addChild(new Label("Neues Spiel")); Label title = menuContainer.addChild(new Label("Neues Spiel", new ElementId("header")));
title.setFontSize(48); title.setFont(app.getAssetManager().loadFont("Interface/Fonts/Metropolis/Metropolis-Bold-42.fnt"));
title.setFontSize(50);
// Eingabefelder-Container // Eingabefelder-Container
Container inputContainer = menuContainer.addChild(new Container(new SpringGridLayout(Axis.Y, Axis.X))); Container inputContainer = menuContainer.addChild(new Container(new SpringGridLayout(Axis.Y, Axis.X)));

View File

@ -3,6 +3,7 @@ package pp.monopoly.client.gui;
import com.jme3.material.Material; import com.jme3.material.Material;
import com.jme3.material.RenderState.BlendMode; import com.jme3.material.RenderState.BlendMode;
import com.jme3.math.ColorRGBA; import com.jme3.math.ColorRGBA;
import com.jme3.math.Vector3f;
import com.jme3.scene.Geometry; import com.jme3.scene.Geometry;
import com.jme3.scene.shape.Quad; import com.jme3.scene.shape.Quad;
import com.simsilica.lemur.Button; import com.simsilica.lemur.Button;
@ -12,7 +13,9 @@ import com.simsilica.lemur.Label;
import com.simsilica.lemur.Slider; import com.simsilica.lemur.Slider;
import com.simsilica.lemur.component.QuadBackgroundComponent; import com.simsilica.lemur.component.QuadBackgroundComponent;
import com.simsilica.lemur.style.ElementId; import com.simsilica.lemur.style.ElementId;
import com.simsilica.lemur.ValueRenderer;
import com.simsilica.lemur.Selector;
import pp.dialog.Dialog; import pp.dialog.Dialog;
import pp.monopoly.client.MonopolyApp; import pp.monopoly.client.MonopolyApp;
@ -61,6 +64,30 @@ public class SettingsMenu extends Dialog {
backgroundMusicContainer.addChild(new Checkbox("Musik an")).setChecked(true); backgroundMusicContainer.addChild(new Checkbox("Musik an")).setChecked(true);
backgroundMusicContainer.setBackground(new QuadBackgroundComponent(new ColorRGBA(0.4657f, 0.4735f, 0.4892f, 1.0f))); backgroundMusicContainer.setBackground(new QuadBackgroundComponent(new ColorRGBA(0.4657f, 0.4735f, 0.4892f, 1.0f)));
/*Selector<String> dropdown = new Selector<>();
backgroundMusicContainer.addChild(dropdown);
Vector3f dimens = settingsContainer.getPreferredSize();
Vector3f dimens2 = dropdown.getPopupContainer().getPreferredSize();
dimens2.setX(dimens.getX());
dropdown.getPopupContainer().setPreferredSize(dimens2);*/
// Create the dropdown menu
Selector<String> dropdown = new Selector<>();
// Generate and add numbered examples to the dropdown
for (int i = 1; i <= 10; i++) { // Generate 10 examples
dropdown.getModel().add("Example " + i);
}
// Add the dropdown to the container
backgroundMusicContainer.addChild(dropdown);
// Adjust the dropdown's popup container size if necessary
Vector3f dimens = settingsContainer.getPreferredSize();
Vector3f dimens2 = dropdown.getPopupContainer().getPreferredSize();
dimens2.setX(dimens.getX());
dropdown.getPopupContainer().setPreferredSize(dimens2);
// Beenden-Button // Beenden-Button
Button quitButton = settingsContainer.addChild(new Button("Beenden", new ElementId("menu-button"))); Button quitButton = settingsContainer.addChild(new Button("Beenden", new ElementId("menu-button")));
quitButton.setFontSize(32); quitButton.setFontSize(32);