import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; public class MapMenu extends JFrame { private static final long serialVersionUID = 2863784680171430142L; public boolean rdy; JButton button; Hintergrund hintergrund; JPanel panel; JComboBox bob; String[] maps; File path; Game game; String selectedMap; public MapMenu() { super("Map Menu"); System.setProperty("sun.java2d.opengl", "true"); path = new File("assets/maps"); maps = path.list(); for (int i = 0; i < maps.length; i++) { maps[i] = maps[i].substring(0, maps[i].length() - 4); } this.setVisible(true); this.setBounds(750, 300, 300, 200); this.setResizable(false); // Man kann die Größe des Frame nicht verändern panel = new JPanel(); // Panel auf dem visuellen Elemente angezeigt werden // Der Inhalt des Panels wird auf dem Frame angezeigt: this.setContentPane(panel); this.getContentPane().setLayout(null); hintergrund = new Hintergrund(); panel.add(hintergrund); hintergrund.setBounds(0, 0, 300, 200); button = new JButton("Launch"); panel.add(button); button.setFont(new Font("Consolas", Font.PLAIN, 14)); button.setBounds(50, 50, 200, 30); button.setBorderPainted(false); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { try { button_ActionPerformed(evt); } catch (Exception e) { e.printStackTrace(); } } }); bob = new JComboBox(maps); bob.setSelectedItem("Original"); panel.add(bob); bob.setBounds(50, 10, 200, 30); bob.setFont(new Font("Consolas", Font.PLAIN, 14)); // bob.setAlignmentX(Label.CENTER); ((JLabel) bob.getRenderer()).setHorizontalAlignment(SwingConstants.CENTER); } public String getSelectedMap() { return selectedMap; } // Was passieren soll, wenn der Button gedrückt wird public void button_ActionPerformed(ActionEvent evt) { selectedMap = String.valueOf(bob.getSelectedItem()); rdy = true; this.dispose(); } }