Java - swing problem Vyřešeno
Napsal: 02 úno 2014 21:50
Zdravim, dostali jsme úkol naprogramovat kalkulačku která bude fungovat přes swing. Ale mám zde problém ( příloha ), udělal jsem ke knoflíčkům ActionListenery, a v potřebuji aby v každém tom action listeneru se int a nastavila na takovou hodnotu jak uvádím. Jenže to a se prostě nechce zdědit na ten poslední ActionListener ten poslední čudlík ( button, ten ActionListener úplně dole ). Nevítě někdo jak tu int a nastavit aby měla takovou hodnotu jak se nastaví v tom plusu, mínusu.. i v tom ActionListeneru toho buttonu?
Kód: Vybrat vše
package dokonala;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class NewClass extends JFrame {
public final String title = "Kalkulačka";
public final int w1 = 600;
public final int w2 = 100;
public NewClass()
{
JFrame frame = new JFrame();
JPanel p = new JPanel();
JPanel t = new JPanel();
JButton button = new JButton("Výsledek");
final JButton plus = new JButton("+");
final JButton minus = new JButton("-");
final JButton krat = new JButton("*");
final JButton deleno = new JButton("/");
this.setLayout(new BorderLayout());
final JTextField field = new JTextField(6);
final JTextField field2 = new JTextField(6);
final JTextField field3 = new JTextField(1);
p.setBackground(Color.YELLOW);
this.setTitle(title);
this.setSize(w1,w2);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.add(p, BorderLayout.CENTER);
p.add(field, BorderLayout.WEST);
p.add(plus);
p.add(minus);
p.add(krat);
p.add(deleno);
p.add(field2, BorderLayout.EAST);
plus.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int a = 1;
}
});
minus.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int a = 2;
}
});
krat.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int a = 3;
}
});
deleno.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int a = 4;
}
});
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String first = field.getText();
String second = field2.getText();
String function = field3.getText();
int first1;
int second2;
first1 = Integer.parseInt(first);
second2 = Integer.parseInt(second);
System.out.println(" " + first1 + " " + second2 + " " + a );
}
});
this.add(button, BorderLayout.EAST);
this.setResizable(false);
}
}