Hallo alle zusammen,
ich habe ein großes Problem. Leider weiß ich nicht,wie ich meine Frage-Klasse mit Button und etc. mit den anderen Klassen verbinde :bahnhof:
Könnte mir jemand vielleicht dabei behilflich sein?
Code 1.
Code 2
Code 3
Code 4
Code 5
Gegebenfalls habe ich noch diese Klasse mit einer Vererbung mit JFrame und Implementierung vom ActionListener aufgeschrieben:
Ich bedanke mich schon mal für eure Tipps und Hilfen..
ich habe ein großes Problem. Leider weiß ich nicht,wie ich meine Frage-Klasse mit Button und etc. mit den anderen Klassen verbinde :bahnhof:
Könnte mir jemand vielleicht dabei behilflich sein?
Code 1.
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Brainbomb
{
MatchMaker matchmaker;
JPanel main,
startPanel,
selectPanel,
playPanel,
endPanel;
JLabel startHeadline,
selectHeadline,
frageLabel,
content;
JButton selectChars,
devs,
startGame,
antwort1,
antwort2,
antwort3,
antwort4;
public Brainbomb()
{
matchmaker = new MatchMaker();
GUI();
}
public void GUI()
{
JFrame frame = new JFrame("Brainbomb");
main = new JPanel();
startPanel = new JPanel();
selectPanel = new JPanel();
playPanel = new JPanel();
endPanel = new JPanel();
startPanel.setLayout(new GridBagLayout());
selectPanel.setLayout(new GridBagLayout());
playPanel.setLayout(new GridBagLayout());
endPanel.setLayout(new GridBagLayout());
main.add(startPanel);
main.add(selectPanel);
main.add(playPanel);
main.add(endPanel);
frame.add(main);
GridBagConstraints c = new GridBagConstraints();
c.insets = new Insets(5, 5, 5, 5);
// startPanel
startHeadline = new JLabel("Willkommen bei Brainbomb!");
c.gridx = 0;
c.gridy = 0;
c.gridwidth = 3;
startPanel.add(startHeadline, c);
devs = new JButton("?");
devs.addActionListener(new devsListener());
c.gridx = 4;
c.gridy = 0;
c.gridwidth = 1;
startPanel.add(devs, c);
content = new JLabel("");
c.gridx = 0;
c.gridy = 1;
c.gridwidth = 4;
startPanel.add(content, c);
selectChars = new JButton("Spieler auswählen!");
selectChars.addActionListener(new selectCharsListener());
c.gridx = 0;
c.gridy = 2;
c.gridwidth = 4;
startPanel.add(selectChars, c);
// selectPanel
selectHeadline = new JLabel("Wählen Sie ihre Spielfigur.");
c.gridx = 0;
c.gridy = 0;
c.gridwidth = 4;
selectPanel.add(selectHeadline, c);
startGame = new JButton("Spiel starten!");
startGame.addActionListener(new startGameListener());
c.gridx = 0;
c.gridy = 4;
c.gridwidth = 4;
selectPanel.add(startGame, c);
// playPanel
frageLabel = new JLabel("Hier wird die Frage stehen!");
c.gridx = 0;
c.gridy = 0;
c.gridwidth = 4;
playPanel.add(frageLabel, c);
antwort1 = new JButton("1");
c.gridx = 0;
c.gridy = 1;
c.gridwidth = 1;
playPanel.add(antwort1, c);
antwort2 = new JButton("2");
c.gridx = 1;
c.gridy = 1;
c.gridwidth = 1;
playPanel.add(antwort2, c);
antwort3 = new JButton("3");
c.gridx = 0;
c.gridy = 2;
c.gridwidth = 1;
playPanel.add(antwort3, c);
antwort4 = new JButton("4");
c.gridx = 1;
c.gridy = 2;
c.gridwidth = 1;
playPanel.add(antwort4, c);
// endPanel
// ---
selectPanel.setVisible(false);
playPanel.setVisible(false);
endPanel.setVisible(false);
startPanel.setVisible(true);
frame.pack();
frame.setSize(400, 250);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
class selectCharsListener implements ActionListener {
public void actionPerformed(ActionEvent event)
{
startPanel.setVisible(false);
selectPanel.setVisible(true);
}
}
class devsListener implements ActionListener {
public void actionPerformed(ActionEvent event)
{
content.setText("Developer: Armin, Sara, Merve, Irina");
}
}
class startGameListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
Frage datensatz = matchmaker.naechsteRunde();
frageLabel.setText("");
selectPanel.setVisible(false);
playPanel.setVisible(true);
}
}
}
Code 2
Java:
public class MatchMaker
{
Player[] players = new Player[2];
Datenbank datenbank = null;
int rundencounter = 0;
public MatchMaker()
{
players[0] = new Player();
players[1] = new Player();
datenbank = new Datenbank();
}
public Frage naechsteRunde() {
rundencounter++;
return datenbank.getFrage(rundencounter - 1);
}
}
Code 3
Java:
public class Datenbank
{
Frage[] fragen = new Frage[15];
public Datenbank()
{
fragen[0] = new Frage();
fragen[0].setFrage("Wie groß ist der Eiffelturm?");
String[] antworten0 = {"301m", "100m", "1000mm", "20m"};
fragen[0].setAntworten(antworten0);
fragen[1] = new Frage();
fragen[1].setFrage("Wie groß ist der Berliner Fernsehturm?");
String[] antworten1 = {"egal", "122m", "192m", "300m"};
fragen[1].setAntworten(antworten1);
}
public Frage getFrage(int rundencounter) {
return fragen[rundencounter];
}
}
Code 4
Java:
public class Player
{
private int score;
public Player()
{
}
public void addScore(int score) {
this.score = score;
}
public int getScore() {
return score;
}
}
Code 5
Java:
public class Frage
{
String frage = null;
String[] antworten = new String[4];
public Frage()
{
}
public void setFrage(String frage) {
this.frage = frage;
}
public String getFrage() {
return frage;
}
public void setAntworten(String[] antwortArray) {
this.antworten = antwortArray;
}
public String[] getAntworten() {
return antworten;
}
}
Gegebenfalls habe ich noch diese Klasse mit einer Vererbung mit JFrame und Implementierung vom ActionListener aufgeschrieben:
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Box extends JFrame implements ActionListener
{
JButton button1;
JButton button2;
JButton button3;
JButton button4;
JLabel label;
JPanel panel;
public Box(String a1, String a2, String a3,String a4, String b1)
{
this.setTitle("Brainbomb");
this.setSize(400,200);
panel = new JPanel();
label = new JLabel();
button1 = new JButton (a1);
button2 = new JButton (a2);
button3 = new JButton (a3);
button4 = new JButton (a4);
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);
panel.add(label);
this.add(panel);
label.setText((b1));
}
public static void main(String[] args)
{
Box b = new Box("Muenchen","Bonn","Berlin","Duesseldorf","Welches ist die Haupstadt von Deutschland?");
b. setVisible(true);
}
public void actionPerformed (ActionEvent e)
{
if(e.getSource() == this.button1 || e.getSource() == this.button2
|| e.getSource() == this. button4) {
label.setText(("Falsch"));
}
else if(e.getSource() == this.button3) {
label.setText("Richtig");
}
}
}
Ich bedanke mich schon mal für eure Tipps und Hilfen..