Hallöchen zusammen,
ich habe ein Problem und zwar habe ich eine GUI programmiert in der durch das klicken des Buttons "Spiel starten" mein anderes programmiertes Spiel "Memory" geöffnet werden soll.
Mein Problem das ich habe ist, dass zwar ein neues fenster geöffnet wird allerdings dieses leer ist und die Verbindung zu der Klasse also zu meinem Spiel "Memory" fehlt. ES wäre nett wenn mir in dieser Situation jemand helfen kann ich bedanke mich schon im Vorraus für eure Hilfe.
Grüße Coci111
Programmcode GUI:
und mein Code zum programmierten Spiel Memory:
Code Memory:
ich habe ein Problem und zwar habe ich eine GUI programmiert in der durch das klicken des Buttons "Spiel starten" mein anderes programmiertes Spiel "Memory" geöffnet werden soll.
Mein Problem das ich habe ist, dass zwar ein neues fenster geöffnet wird allerdings dieses leer ist und die Verbindung zu der Klasse also zu meinem Spiel "Memory" fehlt. ES wäre nett wenn mir in dieser Situation jemand helfen kann ich bedanke mich schon im Vorraus für eure Hilfe.
Grüße Coci111
Programmcode GUI:
Java:
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Color;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.SwingConstants;
import java.awt.SystemColor;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JTextField;
import ch.aplu.jgamegrid.GGMouseListener;
import ch.aplu.jgamegrid.GameGrid;
public class Fenster_GUI extends JFrame {
private JPanel contentPane;
private JTextField txtname;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Fenster_GUI frame = new Fenster_GUI();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Fenster_GUI() {
setTitle("Class1");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(100, 100, 413, 352);
contentPane = new JPanel();
contentPane.setBackground(Color.WHITE);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JButton btnBeenden = new JButton("Beenden");
btnBeenden.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
btnBeenden.setBounds(256, 241, 119, 23);
contentPane.add(btnBeenden);
JButton btnSpielstarten = new JButton("Spiel starten");
btnSpielstarten.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Memory m1 = new Memory();
m1.setVisible(true);
}
});
btnSpielstarten.setBounds(10, 241, 119, 23);
contentPane.add(btnSpielstarten);
txtname = new JTextField();
txtname.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
txtname.getText();
}
});
txtname.setBounds(188, 286, 187, 20);
contentPane.add(txtname);
txtname.setColumns(10);
JLabel lblname = new JLabel("Benutzername eingeben:");
lblname.setBounds(10, 289, 168, 14);
contentPane.add(lblname);
JLabel label = new JLabel("");
label.setEnabled(false);
Image img = new ImageIcon(this.getClass().getResource("/memory.png.")).getImage();
label.setIcon(new ImageIcon(img));
label.setBounds(-111, 0, 529, 317);
contentPane.add(label);
}
}
und mein Code zum programmierten Spiel Memory:
Code Memory:
Java:
import ch.aplu.jgamegrid.*;
import java.awt.Color;
import ch.aplu.util.*;
public class Memory extends GameGrid implements GGMouseListener {
private boolean isReady = true;
private MemoryCard card1;
private MemoryCard card2;
public Memory() {
super(4, 4, 115, null, null, false);
MemoryCard[] cards = new MemoryCard[16];
for (int i = 0; i < 16; i++) {
if (i < 8)
cards[i] = new MemoryCard(i);
else
cards[i] = new MemoryCard(i - 8);
addActor(cards[i], getRandomEmptyLocation());
cards[i].show(1);
}
addMouseListener(this, GGMouse.lPress);
doRun();
show();
while (true) {
Monitor.putSleep();
delay(1000);
card1.show(1);
card2.show(1);
isReady = true;
setMouseEnabled(true);
}
}
public boolean mouseEvent(GGMouse mouse) {
Location location = toLocation(mouse.getX(), mouse.getY());
MemoryCard card = (MemoryCard) getOneActorAt(location);
if (card.getIdVisible() == 0)
return true;
card.show(0);
if (isReady) {
isReady = false;
card1 = card;
} else {
card2 = card;
if (card1.getId() == card2.getId())
isReady = true;
else {
setMouseEnabled(false);
Monitor.wakeUp();
}
}
return true;
}
public static void main(String[] args) {
new Memory();
}
}
Zuletzt bearbeitet von einem Moderator: