'''
package com.company;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Main implements ActionListener {
private static JTextField inputBox;
Main(){}
public static void main(String[] args) {
createWindow();
}
private static void createWindow() {
JFrame frame = new JFrame("Calculator");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
createUI(frame);
frame.setSize(200, 200);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public static void createUI(JFrame frame) {
JPanel panel = new JPanel();
Calculator c = new Calculator();
GridBagLayout layout = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
panel.setLayout(layout);
inputBox = new JTextField(10);
inputBox.setEditable(true);
JButton button0 = new JButton("0");
JButton button1 = new JButton("1");
JButton button2 = new JButton("2");
JButton button3 = new JButton("3");
JButton button4 = new JButton("4");
JButton button5 = new JButton("5");
JButton button6 = new JButton("6");
JButton button7 = new JButton("7");
JButton button8 = new JButton("8");
JButton button9 = new JButton("9");
JButton buttonPlus = new JButton("+");
JButton buttonMinus = new JButton("-");
JButton buttonDivide = new JButton("/");
JButton buttonMultiply = new JButton("*");
JButton buttonClear = new JButton("Clear");
JButton buttonDot = new JButton(".");
JButton buttonEquals = new JButton("=");
button1.addActionListener(c);
button2.addActionListener(c);
button3.addActionListener(c);
button4.addActionListener(c);
button5.addActionListener(c);
button6.addActionListener(c);
button7.addActionListener(c);
button8.addActionListener(c);
button9.addActionListener(c);
button0.addActionListener(c);
buttonPlus.addActionListener(c);
buttonMinus.addActionListener(c);
buttonDivide.addActionListener(c);
buttonMultiply.addActionListener(c);
buttonClear.addActionListener(c);
buttonDot.addActionListener(c);
buttonEquals.addActionListener(c);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 0; gbc.gridy = 0; panel.add(button1, gbc);
gbc.gridx = 1; gbc.gridy = 0; panel.add(button2, gbc);
gbc.gridx = 2; gbc.gridy = 0; panel.add(button3, gbc);
gbc.gridx = 3; gbc.gridy = 0; panel.add(buttonPlus, gbc);
gbc.gridx = 0; gbc.gridy = 1; panel.add(button4, gbc);
gbc.gridx = 1; gbc.gridy = 1; panel.add(button5, gbc);
gbc.gridx = 2; gbc.gridy = 1; panel.add(button6, gbc);
gbc.gridx = 3; gbc.gridy = 1; panel.add(buttonMinus, gbc);
gbc.gridx = 0; gbc.gridy = 2; panel.add(button7, gbc);
gbc.gridx = 1; gbc.gridy = 2; panel.add(button8, gbc);
gbc.gridx = 2; gbc.gridy = 2; panel.add(button9, gbc);
gbc.gridx = 3; gbc.gridy = 2; panel.add(buttonDivide, gbc);
gbc.gridx = 0; gbc.gridy = 3; panel.add(buttonDot, gbc);
gbc.gridx = 1; gbc.gridy = 3; panel.add(button0, gbc);
gbc.gridx = 2; gbc.gridy = 3; panel.add(buttonClear, gbc);
gbc.gridx = 3; gbc.gridy = 3; panel.add(buttonMultiply, gbc);
gbc.gridwidth = 3;
gbc.gridx = 0;
gbc.gridy = 4;
panel.add(inputBox, gbc);
gbc.gridx = 3;
gbc.gridy = 4;
panel.add(buttonEquals, gbc);
frame.getContentPane().add(panel, BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e) {
System.out.println(e);
String command = e.getActionCommand();
if (command.charAt(0) == 'C') {
inputBox.setText("");
System.out.println("");
}else if (command.charAt(0) == '=') {
inputBox.setText(evaluate(inputBox.getText()));
System.out.println("equals");
}else {
inputBox.setText(inputBox.getText() + command);
System.out.println("else3");
}
}
public static String evaluate(String expression) {
char[] arr = expression.toCharArray();
String operand1 = "";
String operand2 = "";
String operator = "";
double result = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] >= '0' && arr[i] <= '9' || arr[i] == '.') {
if(operator.isEmpty()){
operand1 += arr[i];
}else{
operand2 += arr[i];
}
}
if(arr[i] == '+' || arr[i] == '-' || arr[i] == '/' || arr[i] == '*') {
operator += arr[i];
}
}
if (operator.equals("+")) {
result = (Double.parseDouble(operand1) + Double.parseDouble(operand2));
System.out.println("plus");
}
else if (operator.equals("-")) {
result = (Double.parseDouble(operand1) - Double.parseDouble(operand2));
}
else if (operator.equals("/")) {
result = (Double.parseDouble(operand1) / Double.parseDouble(operand2));
}
else {
result = (Double.parseDouble(operand1) * Double.parseDouble(operand2));
}
return operand1 + operator + operand2 + "=" +result;
}
}'''
我是Java的初学者,不太确定这里是什么问题。当我在actionPreformed方法中放置打印行时,它不返回任何内容。
你知道这是怎么了吗?
我正在尝试使用java swing创建一个计算器,但是当我单击按钮时,似乎没有任何输出。 '''包com.company;导入java.awt.BorderLayout;导入java.awt ....
Calculator c = new Calculator();
...
button1.addActionListener(c);