Auf Thema antworten

Hallo,

hab ein kleines Problem, und zwar ist unser Projekt ein Puzzle Spiel, wo wir ein 3 x 3 Gridlayout erstellt haben und auf diesem 9 buttons erzeugt haben, diesen einzelnen buttons haben wir noch die einzelnen bildteile zugewiesen. jetzt meine frage, wie kann man das erreichen, dass man diese teile nachdem sie

geshufflet wurden per Klick-Tausch wieder in die richtige Reihenfolge bringen kann??


Hier der bisherige Quellcode.


[code=Java]import java.lang.String;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.border.*;

import java.awt.GridBagConstraints;

import java.awt.GridBagLayout;

import java.awt.GridLayout;

import java.awt.Insets;

import java.awt.Panel;

import java.awt.event.ActionEvent;

import java.awt.*;

import java.applet.Applet;

import javax.swing.JFrame;

import java.awt.Container;


public class MenuExample extends JFrame {


  // Anfang Attribute

  // Ende Attribute




  public MenuExample() {

    super("GAME");   // Fenstertitel an JFrame(String) übergeben

      setDefaultCloseOperation( EXIT_ON_CLOSE); // Fenster schließen = Ende


   

   

    Container contentPane = getContentPane();

    contentPane.setLayout( new GridLayout(3,3));  // Gridlayout 3x3 erzeugen

    setSize (300, 400);

    setResizable ( false ); // Fenster ist nicht veränderbar

   


    /*final JButton[] arrayMitButtons = new JButton[10];

              for (int i = 1; i < arrayMitButtons.length; i++) {

              String index = String.valueOf(i);

              ImageIcon image = new ImageIcon("E:\\berg" + index +  ".jpg");

              arrayMitButtons[i] = new JButton(image);

              add(arrayMitButtons[i]);

              arrayMitButtons[i].setVisible(false);

              }

     */

    JMenu menu, submenu;

    JMenuItem menuItem;

    JMenuBar menuBar = new JMenuBar();


    menu = new JMenu( "GAME");          // Erzeugen eines Hauptmenüpunktes

    menuBar.add( menu);                       // Hinzufügen des Hauptmenüpunktes

    submenu = new JMenu( "New Game");         // Erzeugen eines Sub-  bzw Untermenüs von Puzzle Pro

    menu.add( submenu);                       // Hinzufügen des Submenüpunktes

    menuItem = new JMenuItem( "Bild 1");      // Erzeugen eines Untermenüs von New Game

    submenu.add( menuItem);                   // Untermenü wird dem Submenü hinzugefügt

  /*  menuItem.addActionListener( new ActionListener() {

      public void actionPerformed( ActionEvent e) {

             for (int i = 1; i < arrayMitButtons.length; i++) {

               arrayMitButtons[i].setVisible(true);

             }

      }

    });    */

    menuItem = new JMenuItem( "Bild 2");      // Erzeugen eines Untermenüs von New Game

    submenu.add( menuItem);                   // Untermenü wird dem Submenü hinzugefügt

    menuItem = new JMenuItem( "Bild 3");      // Erzeugen eines Untermenüs von New Game

    submenu.add( menuItem);                   // Untermenü wird dem Submenü hinzugefügt

    menuItem = new JMenuItem( "Bestenliste"); // Erzeugen eines Untermenüs von Puzzle Pro

    menu.add(menuItem);                       // Untermenü wird dem Hauptmenü hinzugefügt

    menuItem = new JMenuItem( "Exit");        // Erzeugen eines Untermenüs von Puzzle Pro

    menu.add(menuItem);                       // Untermenü wird dem Hauptmenü hinzugefügt

    menuItem.addActionListener( new ActionListener() {

      public void actionPerformed( ActionEvent e) {

        System.exit(0);                       // Durch wählen des Menupunketes "Exit" wird das Fenster beendet

      }

    });


       

    //menu.add( new JSeparator());


    menu = new JMenu( "Optionen");           // Erzeugen eines Hauptmenüpunktes

    menuBar.add( menu);                      // Hinzufügen des Hauptmenüpunktes

    submenu = new JMenu( "Schwierigkeit");   // Erzeugen eines Sub-  bzw Untermenüs von Optionen

    menu.add( submenu);                      // Hinzufügen des Submenüpunktes

    menuItem = new JMenuItem( "Leicht");     // Erzeugen eines Untermenüs von Schwierigkeit

    submenu.add( menuItem);                  // Untermenü wird dem Submenü hinzugefügt

        final JButton[] arrayMitButtons = new JButton[10];

              for (int i = 1; i < arrayMitButtons.length; i++) {

              String index = String.valueOf(i);

              ImageIcon image = new ImageIcon("E:\\berg" + index +  ".jpg");

              arrayMitButtons[i] = new JButton(image);

              add(arrayMitButtons[i]);

              arrayMitButtons[i].setVisible(false);

              }

        menuItem.addActionListener( new ActionListener() {

      public void actionPerformed( ActionEvent e) {

             for (int i = 1; i < arrayMitButtons.length; i++) {

               arrayMitButtons[i].setVisible(true);

             }

      }

    });

    menuItem = new JMenuItem( "Mittel");     // Erzeugen eines Untermenüs von Schwierigkeit

    submenu.add( menuItem);                  // Untermenü wird dem Submenü hinzugefügt

    menuItem = new JMenuItem( "Schwer");     // Erzeugen eines Untermenüs von Schwierigkeit

    submenu.add( menuItem);                  // Untermenü wird dem Submenü hinzugefügt

    menuItem = new JMenuItem ("Reset");

    menu.add (menuItem);

      menuItem.addActionListener( new ActionListener() {

      public void actionPerformed( ActionEvent e) {

             for (int i = 1; i < arrayMitButtons.length; i++) {

             arrayMitButtons[i].setVisible(false);

             }

      }

    });

    menuItem = new JMenuItem( "Pause/Zeit stoppen"); // Erzeugen eines Untermenüs von Optionen

    menu.add(menuItem);                              // Untermenü wird dem Hauptmenü hinzugefügt

   

    setJMenuBar( menuBar);                  // Erzeugen der kompletten Menüleiste

    setSize( 800, 600);                     // Größe der Menüleiste festlegen


    // Anfang Komponenten

    // Ende Komponenten

  }


  // Anfang Methoden




  public static void main( String[] args) {

    new MenuExample().setVisible( true);    // main() endet, Programm läuft weiter

  }

  // Ende Methoden

}[/code]



Oben