Hi, zabrałem się za Swinga - wydał mi się prostszy. Mam tylko jeden problem - po uruchomieniu programu nie widać textFieldów. Dopiero po kliknięciu w miejsce gdzie się powinny znajdować pojawiają się.
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JComboBox;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.math.BigDecimal;
class ButtonPanel extends JFrame
{
public ButtonPanel()
{
setSize(300, 300);
setTitle("Kalkulator");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
setVisible(true);
button1 = new JButton("Wykonaj");
button1.setLocation(105, 240);
button1.setSize(90, 20);
button1.setVisible(true);
add(button1);
textField1 = new JTextField("Operand", 5);
textField1.setLocation(40, 30);
textField1.setSize(90, 20);
textField1.setVisible(true);
add(textField1);
textField2 = new JTextField("Operand", 5);
textField2.setLocation(145, 30);
textField2.setSize(90, 20);
textField2.setVisible(true);
add(textField2);
comboBox1 = new JComboBox();
comboBox1.setEditable(false);
comboBox1.addItem("+");
comboBox1.addItem("-");
comboBox1.addItem("*");
comboBox1.addItem("/");
comboBox1.setLocation(40, 75);
comboBox1.setSize(60, 20);
comboBox1.setVisible(true);
add(comboBox1);
label1 = new JLabel("Wynik");
label1.setLocation(145, 75);
label1.setSize(80, 20);
label1.setVisible(true);
add(label1);
button1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(comboBox1.getSelectedIndex() == 0)
label1.setText("" +
(Float.parseFloat(textField1.getText( )) + Float.parseFloat(textField2.getText()))
);
if(comboBox1.getSelectedIndex() == 1)
label1.setText("" +
(Float.parseFloat(textField1.getText( )) - Float.parseFloat(textField2.getText()))
);
if(comboBox1.getSelectedIndex() == 2)
label1.setText("" +
(Float.parseFloat(textField1.getText( )) * Float.parseFloat(textField2.getText()))
);
if(comboBox1.getSelectedIndex() == 3)
label1.setText("" +
(Float.parseFloat(textField1.getText( )) / Float.parseFloat(textField2.getText()))
);
}
});
}
private JButton button1;
private JTextField textField1;
private JTextField textField2;
private JComboBox comboBox1;
private JLabel label1;
}
public class Kalk
{
public static void main(String[] args)
{
ButtonPanel app = new ButtonPanel();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setVisible(true);
}
}