Hallo zusammen,
ich bin noch ein absoluter neuling in Java.
nun habe ich folgenden Code, der aber aufgrung einer String Variable nicht funktioniert.
Es handelt sind um den String question!
Problem ist, der String funktioniert nur innerhalb der main-Methode, ich muss ich brauche ihn aber innerhalb jbok_ActionPerformed.(ganz unten)
PS: ich bin noch ein neuling, dass ich bis dahin gekommen bin ist eigendlich nur Gück.
Code:
ich bin noch ein absoluter neuling in Java.
nun habe ich folgenden Code, der aber aufgrung einer String Variable nicht funktioniert.
Es handelt sind um den String question!
Problem ist, der String funktioniert nur innerhalb der main-Methode, ich muss ich brauche ihn aber innerhalb jbok_ActionPerformed.(ganz unten)
PS: ich bin noch ein neuling, dass ich bis dahin gekommen bin ist eigendlich nur Gück.
Code:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
*
* Beschreibung
*
* @version 1.0 vom 17.11.2019
* @author Michaelis
*/
public class fenster extends JFrame {
private static final long serialVersionUID = 1L;
public static void main(String[] args) {
String question;
// String answer;
int anzahl = 5;
int randomint = (int) (Math.random()*anzahl);
String[] frage = {"A", "B", "C", "D","E"};
// String[] antwort = {"1", "2", "3", "4","5"};
// jcbanswer = new JComboBox<String>(antwort);
question = frage[randomint];
// answer = antwort[randomint];
lQuestion.setText(question);
lQuestion.setOpaque(false);
// test
// System.out.println(question);
// System.out.println(answer);
new fenster();
} // end of main
public static String question;
//Anfang Attribute
private JLabel jlatmung = new JLabel();
private static JLabel lFalsch = new JLabel();
private static JLabel lRichtig = new JLabel();
private JButton jbok = new JButton();
public ComboBoxModel<String> antwort;
public static JComboBox<String> jcbanswer = new JComboBox<String>();
public DefaultComboBoxModel<String> jcbanswerModel = new DefaultComboBoxModel<String>();
private JLabel lFrage = new JLabel();
private JLabel lAntwort = new JLabel();
public static JLabel lQuestion = new JLabel();
// Ende Attribute
public fenster() {
// Frame-Initialisierung
super();
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
int frameWidth = 800;
int frameHeight = 500;
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);
setTitle("Quiz");
setResizable(false);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
jlatmung.setBounds(216, 0, 301, 100);
jlatmung.setText("Atmung");
jlatmung.setForeground(Color.BLUE);
jlatmung.setFont(new Font("@Microsoft YaHei", Font.BOLD, 72));
cp.add(jlatmung);
lFalsch.setBounds(8, 6, 188, 88);
lFalsch.setForeground(Color.RED);
lFalsch.setFont(new Font("Dialog", Font.BOLD, 36));
lFalsch.setHorizontalAlignment(SwingConstants.CENTER);
cp.add(lFalsch);
lRichtig.setBounds(544, 8, 166, 84);
lRichtig.setFont(new Font("Dialog", Font.BOLD, 36));
lRichtig.setForeground(Color.GREEN);
lRichtig.setHorizontalAlignment(SwingConstants.CENTER);
cp.add(lRichtig);
jbok.setBounds(256, 368, 193, 65);
jbok.setText("Prüfen");
jbok.setMargin(new Insets(2, 2, 2, 2));
jbok.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jbok_ActionPerformed(evt);
}
});
jbok.setCursor(new Cursor(Cursor.HAND_CURSOR));
jbok.setFont(new Font("Dialog", Font.BOLD, 20));
jbok.setForeground(Color.BLUE);
cp.add(jbok);
jcbanswer.setModel(jcbanswerModel);
jcbanswer.setBounds(152, 243, 550, 36);
jcbanswer.setBackground(Color.WHITE);
jcbanswer.setCursor(new Cursor(Cursor.HAND_CURSOR));
jcbanswer.setFont(new Font("Dialog", Font.BOLD, 12));
cp.add(jcbanswer);
lFrage.setBounds(15, 153, 118, 36);
lFrage.setText("Frage:");
lFrage.setFont(new Font("Dialog", Font.BOLD, 24));
//Antworten eingeben
jcbanswerModel.addElement("A");
jcbanswerModel.addElement("B");
jcbanswerModel.addElement("C");
jcbanswerModel.addElement("D");
jcbanswerModel.addElement("E");
cp.add(lFrage);
lAntwort.setBounds(16, 240, 110, 36);
lAntwort.setText("Antwort:");
cp.add(lAntwort);
lQuestion.setBounds(155, 155, 550, 36);
// lQuestion.setText(question);
lQuestion.setFont(new Font("Dialog", Font.BOLD, 12));
// lQuestion.setBackground(Color.WHITE);
lQuestion.setOpaque(true);
cp.add(lQuestion);
// Ende Komponenten
setVisible(true);
} // end of public Quiz
static // Anfang Methoden
int rcounter = 0;
static int fcounter = 0;
public final static void jbok_ActionPerformed(ActionEvent evt) {
String selectedItem = (String)jcbanswer.getSelectedItem();
System.out.println(selectedItem);
System.out.println(question);//AN DIESER STELLE KANN QUESTION NICHT ABGERUFEN WERDEN (NULL)
if (selectedItem == question) {
rcounter++;
lRichtig.setText(String.valueOf(rcounter));
} else {
fcounter++;
lFalsch.setText(String.valueOf(fcounter));
}
//test
// System.out.println(selectedItem);
} // end of jbok_ActionPerformed
// Ende Methoden
} // end of class Quiz