mirror of
https://athene2.informatik.unibw-muenchen.de/progproj/gruppen-ht24/Gruppe-02.git
synced 2024-11-24 21:39:44 +01:00
Tooolbar implementiert
This commit is contained in:
parent
1af8614b35
commit
8698eed273
@ -0,0 +1,80 @@
|
|||||||
|
package pp.monopoly.client.gui;
|
||||||
|
|
||||||
|
import com.jme3.app.SimpleApplication;
|
||||||
|
import com.jme3.material.Material;
|
||||||
|
import com.jme3.math.Vector3f;
|
||||||
|
import com.jme3.scene.Geometry;
|
||||||
|
import com.jme3.scene.shape.Box;
|
||||||
|
import com.jme3.texture.Texture;
|
||||||
|
import com.jme3.system.JmeCanvasContext;
|
||||||
|
import com.jme3.system.AppSettings;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
|
||||||
|
public class TestWorldWithMenu extends SimpleApplication {
|
||||||
|
|
||||||
|
public static void createAndShowGUI() {
|
||||||
|
// Create JFrame
|
||||||
|
JFrame frame = new JFrame("Test World with Menu");
|
||||||
|
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
frame.setLayout(new BorderLayout());
|
||||||
|
frame.setSize(800, 600);
|
||||||
|
|
||||||
|
// Create Menu Bar
|
||||||
|
JMenuBar menuBar = new JMenuBar();
|
||||||
|
JMenu fileMenu = new JMenu("File");
|
||||||
|
JMenuItem exitItem = new JMenuItem(new AbstractAction("Exit") {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
fileMenu.add(exitItem);
|
||||||
|
menuBar.add(fileMenu);
|
||||||
|
frame.setJMenuBar(menuBar);
|
||||||
|
|
||||||
|
// Create Canvas for jMonkey
|
||||||
|
AppSettings settings = new AppSettings(true);
|
||||||
|
settings.setWidth(800);
|
||||||
|
settings.setHeight(600);
|
||||||
|
|
||||||
|
TestWorldWithMenu app = new TestWorldWithMenu();
|
||||||
|
app.setSettings(settings);
|
||||||
|
app.createCanvas(); // Create a canvas for embedding
|
||||||
|
JmeCanvasContext ctx = (JmeCanvasContext) app.getContext();
|
||||||
|
ctx.setSystemListener(app);
|
||||||
|
Canvas canvas = ctx.getCanvas();
|
||||||
|
canvas.setSize(800, 600);
|
||||||
|
|
||||||
|
// Add the canvas to JFrame
|
||||||
|
frame.add(canvas, BorderLayout.CENTER);
|
||||||
|
|
||||||
|
// Show the frame
|
||||||
|
frame.setVisible(true);
|
||||||
|
|
||||||
|
// Start the jMonkeyEngine application
|
||||||
|
app.startCanvas();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleInitApp() {
|
||||||
|
// Erstelle ein Quadrat
|
||||||
|
Box box = new Box(1, 0.01f, 1); // Dünnes Quadrat für die Textur
|
||||||
|
Geometry geom = new Geometry("Box", box);
|
||||||
|
|
||||||
|
// Setze das Material mit Textur
|
||||||
|
Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
|
||||||
|
Texture texture = assetManager.loadTexture("Pictures/board.png"); // Replace with the path to your image
|
||||||
|
mat.setTexture("ColorMap", texture);
|
||||||
|
geom.setMaterial(mat);
|
||||||
|
|
||||||
|
// Füge das Quadrat zur Szene hinzu
|
||||||
|
rootNode.attachChild(geom);
|
||||||
|
|
||||||
|
// Setze die Kameraposition, um das Quadrat zu fokussieren
|
||||||
|
cam.setLocation(new Vector3f(0, 0, 3)); // Kamera auf der Z-Achse, nah am Quadrat
|
||||||
|
cam.lookAt(geom.getLocalTranslation(), Vector3f.UNIT_Y);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user