gpt4 book ai didi

当我将它放入它自己的方法中时,Java gui 没有显示

转载 作者:行者123 更新时间:2023-12-01 18:17:58 26 4
gpt4 key购买 nike

import javax.swing.*;
import java.awt.event.*;
import java.awt.GridLayout;

public class Calculator1{

public void Calculator1(){
JFrame frame = new JFrame("Calculator");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);

GridLayout grid = new GridLayout(4, 3, 10, 10);
frame.setLayout(grid);

JLabel op1Label= new JLabel("Operand One:");
JTextField operandOne = new JTextField();
operandOne.setText("");
operandOne.setEditable(true);
frame.add(op1Label);
frame.add(operandOne);

JLabel op2Label = new JLabel("Operand Two:");
JTextField operandTwo = new JTextField();
operandTwo.setText("");
operandTwo.setEditable(true);
frame.add(op2Label);
frame.add(operandTwo);

JButton plus = new JButton("+");
frame.add(plus);
JButton minus = new JButton("-");
frame.add(minus);

JButton multiply = new JButton("*");
frame.add(multiply);

JButton divide = new JButton("/");
frame.add(divide);

JButton exponent = new JButton("^");
frame.add(exponent);

JButton route = new JButton("\u221A");
frame.add(route);

JButton increment = new JButton("Increment");
frame.add(increment);

JButton decrement = new JButton("Decrement");
frame.add(decrement);

JButton reciprocal = new JButton("Reciprocal");
frame.add(reciprocal);

JLabel resultLabel= new JLabel("Result:");
JTextField result = new JTextField();
result.setText("0");
result.setEditable(false);
frame.add(resultLabel);
frame.add(result);
frame.pack();

frame.setVisible(true);
}


public static void main(String[] args) {
Calculator1 calc = new Calculator1();
}
}

我对 Java 很陌生,正在尝试编写一个计算器。在显示内容后我将执行 Action 监听器,我让它们在主体中工作,因此应该不会太难。它显示当我将所有代码放入 main 中,但当我尝试将其放入其自己的方法中时,程序会编译并运行,但除了 cmd 行之外什么都没有显示。有什么帮助吗?

最佳答案

问题是您正在调用构造函数(使用 new),但您的 Calculator1 方法只是一个恰好与类同名的方法,但不是该类的构造函数,因此它使用默认构造函数。要使其成为构造函数,请删除 void 返回值。

public Calculator1() { // without return value it's a constructor
...
}

public static void main(String[] args) {
Calculator1 calc = new Calculator1(); // call the constructor
}

关于当我将它放入它自己的方法中时,Java gui 没有显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28476804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com