Wie kann ich die Fragen mit den anderen Klassen verbinden?

Vitalia

Mitglied
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.
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..:)
 

Ruzmanz

Top Contributor
Ist eine sehr allgemeine Frage. Du kannst entweder Referenzen über den Konstruktor weiterreichen oder mit Settern arbeiten.

new devsListener(matchMaker);

devListener = new devsListener();
devListener.setMatchMaker(matchMaker);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Fragen zu Testabdeckungs-Metriken Allgemeine Java-Themen 4
MarvinsDepression Unbekanntes Zeichen in fremden Code wirft Fragen auf Allgemeine Java-Themen 4
B HTTP Allgemeine Fragen über Suchmaschine nutzen mit Java Allgemeine Java-Themen 20
K BlueJ - Fragen zu dem Spiel Pacman (Nachprogrammieren) Allgemeine Java-Themen 141
V Ich hätte 2 Fragen Allgemeine Java-Themen 5
ME2002 Fragen aus einer Java Klausur Allgemeine Java-Themen 67
H Fragen zur Kraken Api Allgemeine Java-Themen 1
nonickatall Klassen Grundsätzliche Fragen zu geplanter Programmstruktur Allgemeine Java-Themen 5
W Ein paar Fragen zu .properties und .css Allgemeine Java-Themen 6
W Mal ein paar generelle Fragen zu InputStream und OutputStream Allgemeine Java-Themen 4
X Fragen zur Javamail API und Gmail Allgemeine Java-Themen 4
T Fragen bezgl. Lambdas Allgemeine Java-Themen 20
X Collections Fragen zu gleichen Elementen in TreeSet Allgemeine Java-Themen 35
A Neuerungen in Java 8 StreamAPI- Paar fragen Allgemeine Java-Themen 4
temi Fragen zur Software-Architektur Allgemeine Java-Themen 123
M Diverse Design-Fragen Allgemeine Java-Themen 6
J 2 Fragen zur Vererbung Allgemeine Java-Themen 5
H Java FX 2 Fragen um Programm in mehrere sprachen zu übersetzen in Gluon Framwork Allgemeine Java-Themen 3
M Fragen beantworten über Textfeldeingabe Allgemeine Java-Themen 5
D Grundsätzliche Fragen zum Heap Space Allgemeine Java-Themen 12
J Allgemeine Fragen zu Vererbung Allgemeine Java-Themen 1
M Allgemeine Fragen meinerseits Allgemeine Java-Themen 4
J Fragen zu generischer doppelt verketteter Liste (bei fehlendem Grundverständnis) Allgemeine Java-Themen 1
R Es gibt keine dummen Fragen (hab ich mal gehört) Allgemeine Java-Themen 11
T Fragen zum Thread-Thema Allgemeine Java-Themen 4
2 2 Klein Fragen Allgemeine Java-Themen 7
alderwaran .jar Code Signing, User-Keystore und Fragen dazu Allgemeine Java-Themen 0
T Fragen zum Thread-Thema Allgemeine Java-Themen 9
A Java Theorie-Fragen Allgemeine Java-Themen 7
K Java QUIZ-Spiel Fragen und Antworten generieren?! Allgemeine Java-Themen 5
R Socket Fragen zu UDP Allgemeine Java-Themen 1
B Noob-Fragen zu Tablets und PC kompatiblität... Allgemeine Java-Themen 6
D Ein paar allgemeine Fragen zu Java Allgemeine Java-Themen 19
L Fragen für Facharbeit: Analyse von Strings in Java Allgemeine Java-Themen 4
R Fragen zu Server + UI Allgemeine Java-Themen 2
U Vier Fragen zu Java Allgemeine Java-Themen 2
H MediaManager Fragen/Probleme Allgemeine Java-Themen 6
D Fragen zum erstellen einer ausführbaren Jar Datei Allgemeine Java-Themen 3
C Polymorphie Fragen zur Annotations von Persistenz Allgemeine Java-Themen 2
O Fragen über Fragen - Bei Änderung XML-Datei -> Anpassung GUI Allgemeine Java-Themen 7
StrikeTom Java Performance Fragen Allgemeine Java-Themen 5
Luk10 Fragen zum ByteBuffer (lwjgl - icons) Allgemeine Java-Themen 2
F Akkumulator Hough-Transformation offene Fragen Allgemeine Java-Themen 4
Luk10 Fragen zu Naming-Conventions Allgemeine Java-Themen 5
Z Einige Fragen Allgemeine Java-Themen 10
T OOP Einige Fragen zu UML-Klassendiagrammen Allgemeine Java-Themen 6
G Einige Fragen zu ResourceBundles Allgemeine Java-Themen 2
S Fragen zu verschiedenen Themen vom JCreator Allgemeine Java-Themen 2
DStrohma Grundsätzliche Fragen zum Aufbau eines komplexeren Programmes Allgemeine Java-Themen 8
Semox Grapheneditor - Allgemeine Fragen zum Logikdesign Allgemeine Java-Themen 3
O kleine Fragen eines Anfängers Allgemeine Java-Themen 2
X Executor fragen ob fertig Allgemeine Java-Themen 13
nrg Swing 2 Fragen zu Swing/AWT Allgemeine Java-Themen 7
K Reflections Fragen Allgemeine Java-Themen 7
S Fragen zum SCJD-Zertifikat Allgemeine Java-Themen 2
M Backend Entwicklung - Konzept fragen Allgemeine Java-Themen 3
E Fragen zu Scala Allgemeine Java-Themen 11
Daniel_L Fragen zu RegEx und URL umwandeln Allgemeine Java-Themen 4
J Diverse Fragen bezüglich Jasper Allgemeine Java-Themen 3
S Fragen zum ShutdownHook Allgemeine Java-Themen 7
V Fragen zu einem Java Browser Allgemeine Java-Themen 7
G Fragen zum eigenen Scheduler Allgemeine Java-Themen 4
M Drag and Drop: 3 Fragen Allgemeine Java-Themen 3
L Einige Fragen zu Java Allgemeine Java-Themen 9
F Linguistische Fragen zu Javadoc bzw. Englisch Allgemeine Java-Themen 4
E Einfache Fragen zu Dateien Allgemeine Java-Themen 7
E Thread Fragen in Verbindung mit Swing Allgemeine Java-Themen 4
M MVC Design Pattern - Verständniss Fragen Allgemeine Java-Themen 3
X Einige Fragen zu Serialisierung Allgemeine Java-Themen 2
H Java Multiplicoice Test (10 Fragen) Allgemeine Java-Themen 11
J Viele Fragen. =) Hoffentlich könnt ihr helfen Allgemeine Java-Themen 9
D Grundsätzliche Fragen zur Grafikdarstellung in Spielen Allgemeine Java-Themen 2
J 2 Fragen zu JMF und eine Rechtsfrage Allgemeine Java-Themen 3
S Viele Fragen eines Umsteigers (von .NET) Allgemeine Java-Themen 6
C LinkedList Fragen Allgemeine Java-Themen 7
P Fragen zur JBuilder und den kosten. Allgemeine Java-Themen 7
reibi JVM fragen welche Apps geladen sind Allgemeine Java-Themen 7
I Fragen zum Internetseiten Einlesen/Auswerten Allgemeine Java-Themen 5
F Paket und Software Design Fragen. Allgemeine Java-Themen 5
S 2 Fragen allgemeine fragen zu final und interface Allgemeine Java-Themen 13
M ein paar fragen über JBoss und Catalina Allgemeine Java-Themen 7
D Allgemeine Fragen zum Speichern Allgemeine Java-Themen 3
F allgemeine Fragen zu Java Allgemeine Java-Themen 9
S Fragen zu 4 speziellen Listen Allgemeine Java-Themen 4
U JFrame, JOptionPane - vor dem Schließen Benutzer fragen Allgemeine Java-Themen 10
I zwei simple fragen Allgemeine Java-Themen 22
G 2 Fragen Allgemeine Java-Themen 7
G Fragen zu ausführbaren JAR Files Allgemeine Java-Themen 23
G Fragen zu JTextField bzw. JTextArea Allgemeine Java-Themen 2
J 5 Fragen. Allgemeine Java-Themen 2
P Tausend Fragen... Allgemeine Java-Themen 3
8u3631984 Prüfen ob min. ein Element eines Sets in einem anderen Set enh Allgemeine Java-Themen 4
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
Maxi-JOO Klassen Dummy Objekt in anderen Constructor übergeben Allgemeine Java-Themen 5
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
A Objekt aus anderen Objekten machen Allgemeine Java-Themen 8
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
V Threads Probleme beim Aufrufen von Methoden einer anderen Klasse (Threads) Allgemeine Java-Themen 14
K Bild in einem anderen Bild suchen Allgemeine Java-Themen 12
sascha-sphw Java 9 module Zugriff auf eine resource einer anderen JAR Allgemeine Java-Themen 0

Ähnliche Java Themen

Neue Themen


Oben