计算器上的GUI已完成,但它没有做任何数学运算。
我听说过这个名为“parse Int”的命令。有了这个,我试图从用户收到一个字符串,并将其转换为整数。当我单击一个操作员按钮时,我希望它再次接收输入,当我按下等号按钮时,我希望java将该字符串注册为第二个数字。
有谁知道我怎么能接近这个?
我是Java新手,我正在为没有时间限制的经验这样做,所以我愿意以不同的方式制作计算器。下面我提供代码......
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import javax.swing.JButton;
import java.awt.GridLayout;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.Scanner;
import javax.swing.JSplitPane;
public class CalcGUI {
private JFrame frame;
private JTextField textField;
private JTextField textField_1;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
CalcGUI window = new CalcGUI();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
// parse (int)
/**
* Create the application.
*/
public CalcGUI() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
frame.getContentPane().add(panel, BorderLayout.NORTH);
panel.setLayout(new BorderLayout(0, 0));
JSplitPane splitPane = new JSplitPane();
panel.add(splitPane);
textField = new JTextField();
splitPane.setLeftComponent(textField);
textField.setColumns(10);
//a = int.parse(int);
textField_1 = new JTextField();
splitPane.setRightComponent(textField_1);
textField_1.setColumns(10);
JPanel panel_1 = new JPanel();
frame.getContentPane().add(panel_1, BorderLayout.CENTER);
panel_1.setLayout(new GridLayout(0, 3, 0, 0));
JPanel panel_2 = new JPanel();
panel_1.add(panel_2);
JButton btnNewButton_01 = new JButton("1");
panel_2.add(btnNewButton_01);
btnNewButton_01.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setText(textField.getText() + "1");
}});
JButton btnNewButton_04 = new JButton("4");
panel_2.add(btnNewButton_04);
btnNewButton_04.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setText(textField.getText() + "4");
}});
JButton btnNewButton_07 = new JButton("7");
panel_2.add(btnNewButton_07);
btnNewButton_07.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setText(textField.getText() + "7");
}});
JButton btnNewButton_squared = new JButton("x^2");
panel_2.add(btnNewButton_squared);
btnNewButton_squared.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setText(textField.getText() + "^2");// NOT SURE YET
}});
JButton btnNewButton_root = new JButton("Sqr");
panel_2.add(btnNewButton_root);
btnNewButton_root.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
//do whatever should happen when the button is clicked...
}
});
JButton btnNewButton_clear = new JButton("clear");
btnNewButton_clear.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
panel_2.add(btnNewButton_clear);
JPanel panel_3 = new JPanel();
panel_1.add(panel_3);
JButton btnNewButton_02 = new JButton("2");
panel_3.add(btnNewButton_02);
btnNewButton_02.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setText(textField.getText() + "2");
}});
JButton btnNewButton_05 = new JButton("5");
panel_3.add(btnNewButton_05);
btnNewButton_05.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setText(textField.getText() + "5");
}});
JButton btnNewButton_08 = new JButton("8");
panel_3.add(btnNewButton_08);
btnNewButton_08.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setText(textField.getText() + "8");
}});
JButton btnNewButton_09 = new JButton("9");
panel_3.add(btnNewButton_09);
btnNewButton_09.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setText(textField.getText() + "9");
}});
JButton btnNewButton_times = new JButton("x");
panel_3.add(btnNewButton_times);
btnNewButton_times.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setText(textField.getText() + "x");
}});
JButton btnNewButton_divide = new JButton("/");
panel_3.add(btnNewButton_divide);
btnNewButton_divide.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setText(textField.getText() + "/");
}});
JButton btnNewButton_delete = new JButton("delete");
panel_3.add(btnNewButton_delete);
btnNewButton_delete.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
//do whatever should happen when the button is clicked...
}
});
JPanel panel_4 = new JPanel();
panel_1.add(panel_4);
JButton btnNewButton_03 = new JButton("3");
btnNewButton_03.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setText(textField.getText() + "3");
}
});
panel_4.add(btnNewButton_03);
JButton btnNewButton_06 = new JButton("6");
btnNewButton_06.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
panel_4.add(btnNewButton_06);
btnNewButton_06.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setText(textField.getText() + "6");
}});
JButton btnNewButton_00 = new JButton("0");
panel_4.add(btnNewButton_00);
btnNewButton_00.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setText(textField.getText() + "0");
}});
JButton btnNewButton_plus = new JButton("+");
panel_4.add(btnNewButton_plus);
btnNewButton_plus.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setText(textField.getText() + "+");
}});
JButton btnNewButton_minus = new JButton("-");
panel_4.add(btnNewButton_minus);
btnNewButton_minus.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setText(textField.getText() + "-");
}});
JButton btnNewButton_equals = new JButton("=");
panel_4.add(btnNewButton_equals);
btnNewButton_equals.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
}
}
答案 0 :(得分:0)
将整个代码复制到问题中有点太多了,但是我建议你提一下或多或少的伪代码:
String numToConvert = textField.getText();
try {
int num = new Integer(numToConvert);
//sum up or ...
} catch (Exception e) { //numToConvertIsNotAnInteger
//-> must be an operator
}