Vote count:
0
I have a problem with my ActionListener in Java (Eclipse). The programm is supposed to ask you question about diverse topics in maths. Here is the part of the code, which includes the problem:
public Frame () {
c = getContentPane();
c.setLayout(new BorderLayout());
menuBar = new JMenuBar();
menu = new JMenu("Test");
menu.setMnemonic(KeyEvent.VK_A);
addition = new JMenuItem("Addition");
addition.setMnemonic(KeyEvent.VK_B);
menu.add(addition);
minus = new JMenuItem("Subtraction");
minus.setMnemonic(KeyEvent.VK_C);
menu.add(minus);
setJMenuBar(menuBar);
menuBar.add(menu);
answer = new JButton("Answer");
c.add(answer, BorderLayout.SOUTH);
next = new JButton("Next");
c.add(next, BorderLayout.EAST);
back = new JButton("Back");
c.add(back, BorderLayout.WEST);
beschriftung = new JLabel();
beschriftung.setText("Welcome! Please choose your desired operation at the top.");
beschriftung.setVerticalTextPosition(JLabel.CENTER);
beschriftung.setHorizontalAlignment(JLabel.CENTER);
c.add(beschriftung,BorderLayout.CENTER);
next.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
i = 1+dice.nextInt(99);
j = 1+dice.nextInt(99);
k = i + j;
beschriftung.setText("Next Question: " + i + "+" + j);
}
});
addition.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent a) {
beschriftung.setText("Addition Questions!");
c.remove(nextminus);
next = new JButton("Next");
c.add(next, BorderLayout.EAST);
next.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent b) {
i = 1+dice.nextInt(99);
j = 1+dice.nextInt(99);
k = i + j;
beschriftung.setText("Next Question: " + i + "+" + j);
}
});
answer2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent d) {
beschriftung.setText(i + "+" + j + "= " + k);
}
});
}
});
minus.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
beschriftung.setText("Subtraction Questions!");
c.remove(next);
nextminus = new JButton("Next!");
c.add(nextminus, BorderLayout.EAST);
nextminus.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent f) {
i = 1+dice.nextInt(99);
j = 1+dice.nextInt(99);
k = i - j;
beschriftung.setText("Next Question: " + i + "-" + j);
}
});
answer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent g) {
beschriftung.setText(i + "-" + j + "= " + k);
}
});
}
});
}
It always outputs this 'answer':
answer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent g) {
beschriftung.setText(i + "-" + j + "= " + k);
}
});
instead of outputting this one when in addition tab:
answer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent g) {
beschriftung.setText(i + "-" + j + "= " + k);
}
});
Anyone know a solution?
asked 2 mins ago
Java ActionListener displaying false output
Aucun commentaire:
Enregistrer un commentaire