Hallo 
Ich bin grade dabei, für ein Schulprojekt (Würfelspiel) in die GUI ein JMenu zu schreiben.
Hab mir schon viele Tuts zum Thema JMenu angeschaut :rtfm:, aber ich bekomme es einfach nicht auf die Reihe, dass JMenu richig einzubinden...
Habe bereits meine Infolehrerin gefragt, aber ihr "Lösungsvorschlag" funktioniert auch nicht...
Weitere Infos: Wir programmieren mit dem JAVA Editor (schmiert andauernd ab, aber in der Schule gibts es kein eclipse, netbeans, etc....)
Über das JMenu sollen später andere GUI's (Hilfefenster, etc geöffnet werden)
Fehler:
illegal start of expression
Z.188, Z. 191,...)
Hier das Programm:
Vielleicht findet ja einer von euch den Fehler & kann mir einen entscheidenen Tipp geben
Jedoch bitte keine Antworten in "fachchinesisch" formulieren, da ich in Sachen Java noch ein Newbie bin -.-
Vielen Dank für eure Hilfe
P.S.: Wer Rechtschreibfehler findet, darf sie behalten
Ich bin grade dabei, für ein Schulprojekt (Würfelspiel) in die GUI ein JMenu zu schreiben.
Hab mir schon viele Tuts zum Thema JMenu angeschaut :rtfm:, aber ich bekomme es einfach nicht auf die Reihe, dass JMenu richig einzubinden...
Habe bereits meine Infolehrerin gefragt, aber ihr "Lösungsvorschlag" funktioniert auch nicht...
Weitere Infos: Wir programmieren mit dem JAVA Editor (schmiert andauernd ab, aber in der Schule gibts es kein eclipse, netbeans, etc....)
Über das JMenu sollen später andere GUI's (Hilfefenster, etc geöffnet werden)
Fehler:
illegal start of expression
Z.188, Z. 191,...)
Hier das Programm:
Vielleicht findet ja einer von euch den Fehler & kann mir einen entscheidenen Tipp geben
Jedoch bitte keine Antworten in "fachchinesisch" formulieren, da ich in Sachen Java noch ein Newbie bin -.-
Java:
import java.awt.*;
import java.awt.BorderLayout;
import java.awt.event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
/**
*
* Beschreibung
*
* @version 1.0 vom 13.04.2011
* @author
*/
public class GUI extends JFrame {
// Anfang Attribute
private JLabel jL_progname = new JLabel();
private JLabel jL_sp1 = new JLabel();
private JLabel jL_sp2 = new JLabel();
private JTextField jT_sp1 = new JTextField();
private JTextField jT_sp2 = new JTextField();
private JTextField jT_sp1_punktzahl = new JTextField();
private JTextField jT_sp2_punktzahl = new JTextField();
private JTextField jT_ergebnis = new JTextField();
private JButton jB_spielen = new JButton();
private JButton jB_ende = new JButton();
private JButton jB_sp1_behalten = new JButton();
private JButton jB_sp2_behalten = new JButton();
private JButton jB_sp1_again = new JButton();
private JButton jB_sp2_again = new JButton();
// Spiel wird initialisiert
Spiel spiel = new Spiel();
private boolean a = false;
private boolean b = false;
public String name1;
public String name2;
// Ende Attribute
public GUI(String title) {
// Frame-Initialisierung
super(title);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
int frameWidth = 800;
int frameHeight = 475;
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);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
jL_progname.setBounds(310, 22, 209, 48);
jL_progname.setText("Black Jack");
jL_progname.setFont(new Font("MS Sans Serif", Font.BOLD, 27));
cp.add(jL_progname);
jL_sp1.setBounds(80, 72, 53, 16);
jL_sp1.setText("Spieler 1");
jL_sp1.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
cp.add(jL_sp1);
jL_sp2.setBounds(544, 72, 53, 16);
jL_sp2.setText("Spieler 2");
jL_sp2.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
cp.add(jL_sp2);
jT_sp1.setBounds(80, 96, 161, 24);
jT_sp1.setText("Name hier eingeben");
cp.add(jT_sp1);
jT_sp2.setBounds(544, 96, 161, 24);
jT_sp2.setText("Name hier eingeben");
cp.add(jT_sp2);
jT_sp1_punktzahl.setBounds(80, 256, 161, 24);
jT_sp1_punktzahl.setText("Spieler 1 Punktzahl");
cp.add(jT_sp1_punktzahl);
jT_sp2_punktzahl.setBounds(544, 256, 161, 24);
jT_sp2_punktzahl.setText("Spieler 2 Punktzahl");
cp.add(jT_sp2_punktzahl);
jT_ergebnis.setBounds(80, 328, 625, 24);
jT_ergebnis.setText("Gewinner");
cp.add(jT_ergebnis);
jB_spielen.setBounds(271, 95, 241, 80);
jB_spielen.setText("Spielen");
jB_spielen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jB_spielen_ActionPerformed(evt);
}
});
cp.add(jB_spielen);
jB_ende.setBounds(271, 200, 241, 80);
jB_ende.setText("Gewinnermittlung");
jB_ende.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jB_ende_ActionPerformed(evt);
}
});
cp.add(jB_ende);
jB_sp1_behalten.setBounds(80, 144, 161, 33);
jB_sp1_behalten.setText("Behalten");
jB_sp1_behalten.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jB_sp1_behalten_ActionPerformed(evt);
}
});
cp.add(jB_sp1_behalten);
jB_sp2_behalten.setBounds(544, 144, 161, 33);
jB_sp2_behalten.setText("Behalten");
jB_sp2_behalten.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jB_sp2_behalten_ActionPerformed(evt);
}
});
cp.add(jB_sp2_behalten);
jB_sp1_again.setBounds(80, 200, 161, 33);
jB_sp1_again.setText("Erneut würfeln");
jB_sp1_again.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jB_sp1_again_ActionPerformed(evt);
}
});
cp.add(jB_sp1_again);
jB_sp2_again.setBounds(544, 200, 161, 33);
jB_sp2_again.setText("Erneut würfeln");
jB_sp2_again.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jB_sp2_again_ActionPerformed(evt);
}
});
cp.add(jB_sp2_again);
setResizable(false);
setVisible(true);
}
// Start des JMenu
public void JMenuBarBeispiel() {
private JFrame applikation = new JFrame("JMenuBar Beispiel");
container = applikation.getContentPane();
// Menüleiste erzeugen
private JMenuBar menueLeiste = new JMenuBar();
// Menüelemente erzeugen
private JMenu optionen = new JMenu("Optionen");
private JMenu hilfe = new JMenu("Hilfe");
// Untermenüelemente erzeugen
private JMenuItem mehrspielermodus = new JMenuItem("Mehrspieler");
mehrspielermodus.addActionListener(this);
private JMenuItem einzelspieler = new JMenuItem("Einzelspieler");
einzelspieler.addActionListener(this);
private JMenuItem faq = new JMenuItem("F.A.Q.");
faq.addActionListener(this);
private JMenuItem about = new JMenuItem("Info");
about.addActionListener(this);
// Menüelemente hinzufügen
menueLeiste.add(optionen);
menueLeiste.add(hilfe);
// Untermenüelemente hinzufügen
optionen.add(mehrspielermodus);
optionen.add(einzelspieler);
hilfe.add(faq);
hilfe.add(about);
// Textfeld erzeugen
textarea = new JTextArea();
applikation.add(menueLeiste, BorderLayout.NORTH);
applikation.add(new JScrollPane(textarea), BorderLayout.CENTER);
applikation.setSize(400, 300);
applikation.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
applikation.setVisible(true);
}
// Anfang Methoden
public void jB_spielen_ActionPerformed(ActionEvent evt) {
jB_sp1_again.setEnabled(true);
jB_sp2_again.setEnabled(true);
jB_sp1_behalten.setEnabled(true);
jB_sp2_behalten.setEnabled(true);
jB_spielen.setEnabled(false);
jB_ende.setEnabled(false);
// Spielernamen auslesen
String name1 = jT_sp1.getText();
String name2 = jT_sp2.getText();
//Programmstart
jT_ergebnis.setText(spiel.spielen());
jT_sp1_punktzahl.setText(""+ spiel.wertspieler1);
if (spiel.wertspieler1 > 21)
{
jT_sp1_punktzahl.setBackground(Color.RED);
}
else
{
jT_sp1_punktzahl.setBackground(Color.GREEN);
}
jT_sp2_punktzahl.setText(""+ spiel.wertspieler2);
if (spiel.wertspieler2 > 21)
{
jT_sp2_punktzahl.setBackground(Color.RED);
}
else
{
jT_sp2_punktzahl.setBackground(Color.GREEN);
}
}
public void jB_sp1_behalten_ActionPerformed(ActionEvent evt) {
jB_sp1_again.setEnabled(false);
jB_sp1_behalten.setEnabled(false);
// Gewinnerermittlung erst enabled, wenn beide Spieler Behalten drücken.
a = true;
if (a && b)
{
jB_ende.setEnabled(true);
}
}
public void jB_sp2_behalten_ActionPerformed(ActionEvent evt) {
jB_sp2_again.setEnabled(false);
jB_sp2_behalten.setEnabled(false);
// Gewinnerermittlung erst enabled, wenn beide Spieler Behalten drücken.
b = true;
if (b && a )
{
jB_ende.setEnabled(true);
}
}
public void jB_sp1_again_ActionPerformed(ActionEvent evt) {
// Programmstart
jT_ergebnis.setText(spiel.sp1_spielen_again());
if (spiel.wertspieler1_again > 21)
{
jT_sp1_punktzahl.setBackground(Color.RED);
}
else
{
jT_sp1_punktzahl.setBackground(Color.GREEN);
}
jT_sp1_punktzahl.setText(""+ spiel.wertspieler1_again);
}
public void jB_sp2_again_ActionPerformed(ActionEvent evt) {
//Programmstart
jT_ergebnis.setText(spiel.sp2_spielen_again());
if (spiel.wertspieler2_again > 21)
{
jT_sp2_punktzahl.setBackground(Color.RED);
}
else
{
jT_sp2_punktzahl.setBackground(Color.GREEN);
}
jT_sp2_punktzahl.setText(""+ spiel.wertspieler2_again);
}
public void jB_ende_ActionPerformed(ActionEvent evt) {
jT_ergebnis.setText(spiel.gewinner());
jB_spielen.setEnabled(true);
a = false;
b = false;
}
// Testweise Funktionen für die JMenuBar
public void actionPerformed(ActionEvent object) {
if (object.getSource() == mehrspielermodus)
{
System.out.println("mehrspielermodus wurde angeklickt");
}
if (object.getSource() == einzelspieler)
{
System.out.println("einzelspieler wurde angeklickt");
}
if (object.getSource() == faq)
{
System.out.println("faq wurde angeklickt");
}
if (object.getSource() == about)
{
System.out.println("info wurde angeklickt");
}
}
// Ende Methoden
public static void main(String[] args) {
new GUI("Black Jack");
}
}
Vielen Dank für eure Hilfe
P.S.: Wer Rechtschreibfehler findet, darf sie behalten
Zuletzt bearbeitet: