Hier ist die erste Klasse:
Und hier ist die zweite Klasse:
War jetzt nicht alles notwendig, aber immerhin.
Also hier das Problem:
Ich möchte in der ersten Klasse also Hauptmenue eine variable definieren, z.B den int spielerzahl mit dem Anfangswert 2.
Nun möchte ich z.B. mit einem Klick auf JButton1 der zweiten Klasse den Wert von "spielerzahl" auf 1 setzen. Also den Wert dann wieder in die erste Klasse zurückgeben, so dass ich weiter damit arbeiten kann.
Ich habe mir gedacht ich mach mal ein kleines Spiel als Übung.
Bitte um Hilfe und Danke im voraus.
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class Hauptmenue extends JFrame{
// Anfang Attribute
private JLabel jLabel1 = new JLabel();
private JButton jButton1 = new JButton();
private JButton jButton2 = new JButton();
private JButton jButton3 = new JButton();
private JButton jButton4 = new JButton();
// Ende Attribute
public static void main(String[] args) {
new Hauptmenue("Hauptmenü");
}
public void paint(Graphics g) {
// g.drawImage(img,0,0,this);
}
public Hauptmenue(String title) {
// Frame-Initialisierung
super(title);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
int frameWidth = 419;
int frameHeight = 581;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
setResizable(false);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
jLabel1.setBounds(8, 8, 398, 540);
jLabel1.setText("");
cp.add(jLabel1);
jButton1.setBounds(40, 176, 331, 73);
jButton1.setText("Karte wählen");
jButton1.setMargin(new Insets(2, 2, 2, 2));
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jButton1_ActionPerformed(evt);
}
});
cp.add(jButton1);
jButton2.setBounds(40, 264, 331, 73);
jButton2.setText("Spielerkonfiguration");
jButton2.setMargin(new Insets(2, 2, 2, 2));
jButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jButton2_ActionPerformed(evt);
}
});
cp.add(jButton2);
jButton3.setBounds(40, 352, 331, 73);
jButton3.setText("Spielanleitung");
jButton3.setMargin(new Insets(2, 2, 2, 2));
jButton3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jButton3_ActionPerformed(evt);
}
});
cp.add(jButton3);
jButton4.setBounds(40, 440, 331, 73);
jButton4.setText("Spiel starten");
jButton4.setMargin(new Insets(2, 2, 2, 2));
jButton4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jButton4_ActionPerformed(evt);
}
});
cp.add(jButton4);
// Ende Komponenten
setVisible(true);
}
// Anfang Methoden
public void jButton1_ActionPerformed(ActionEvent evt) {
}
public void jButton2_ActionPerformed(ActionEvent evt) {
new Spielerkonfiguration ("Spielerkonfiguration");
}
public void jButton3_ActionPerformed(ActionEvent evt) {
new Spielanleitung ("Spielanleitung");
}
public void jButton4_ActionPerformed(ActionEvent evt) {
new KarteEins ("...");
}
// Ende Methoden
}
Und hier ist die zweite Klasse:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class Spielerkonfiguration extends JFrame {
// Anfang Attribute
private JLabel jLabel1 = new JLabel();
private JLabel jLabel2 = new JLabel();
private JButton jButton1 = new JButton();
private JButton jButton2 = new JButton();
private JButton jButton3 = new JButton();
private JButton jButton4 = new JButton();
private JLabel jLabel3 = new JLabel();
// Ende Attribute
public static void main(String[] args) {
new Spielerkonfiguration("Spielerkonfiguration");
}
public Spielerkonfiguration(String title) {
// Frame-Initialisierung
super(title);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
int frameWidth = 378;
int frameHeight = 430;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
setResizable(false);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
jLabel1.setBounds(8, 8, 358, 52);
jLabel1.setText("Spielerzahl:");
cp.add(jLabel1);
jLabel2.setBounds(8, 72, 355, 89);
jLabel2.setText("");
cp.add(jLabel2);
jButton1.setBounds(16, 80, 75, 73);
jButton1.setText("1 Spieler");
jButton1.setMargin(new Insets(2, 2, 2, 2));
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jButton1_ActionPerformed(evt);
}
});
cp.add(jButton1);
jButton2.setBounds(104, 80, 75, 73);
jButton2.setText("2 Spieler");
jButton2.setMargin(new Insets(2, 2, 2, 2));
jButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jButton2_ActionPerformed(evt);
}
});
cp.add(jButton2);
jButton3.setBounds(192, 80, 75, 73);
jButton3.setText("3 Spieler");
jButton3.setMargin(new Insets(2, 2, 2, 2));
jButton3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jButton3_ActionPerformed(evt);
}
});
cp.add(jButton3);
jButton4.setBounds(280, 80, 75, 73);
jButton4.setText("4 Spieler");
jButton4.setMargin(new Insets(2, 2, 2, 2));
jButton4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jButton4_ActionPerformed(evt);
}
});
cp.add(jButton4);
jLabel3.setBounds(8, 176, 355, 49);
jLabel3.setText("?????????");
cp.add(jLabel3);
// Ende Komponenten
setVisible(true);
}
// Anfang Methoden
public void jButton1_ActionPerformed(ActionEvent evt) {
}
public void jButton2_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void jButton3_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void jButton4_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
// Ende Methoden
}
War jetzt nicht alles notwendig, aber immerhin.
Also hier das Problem:
Ich möchte in der ersten Klasse also Hauptmenue eine variable definieren, z.B den int spielerzahl mit dem Anfangswert 2.
Nun möchte ich z.B. mit einem Klick auf JButton1 der zweiten Klasse den Wert von "spielerzahl" auf 1 setzen. Also den Wert dann wieder in die erste Klasse zurückgeben, so dass ich weiter damit arbeiten kann.
Ich habe mir gedacht ich mach mal ein kleines Spiel als Übung.
Bitte um Hilfe und Danke im voraus.
Zuletzt bearbeitet von einem Moderator: