写了一个简单的效果给你 .预览图如下
参考代码
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JSQFrame extends JFrame implements ActionListener{
public JSQFrame() {
JButton jb = new JButton("科学计算器");
jb.addActionListener(this);
add(jb);
setLayout(new FlowLayout());
setSize(260, 300);
setTitle("标准计算器");
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
//从标准计算器跳到科学计算器
public void actionPerformed(ActionEvent e) {
this.setVisible(false);//本窗口不可见
this.dispose();//销毁本窗口
new KXJSQFrame().setVisible(true);//新窗口创建并显示
}
public static void main(String[] args) {
new JSQFrame().setVisible(true);
}
}
class KXJSQFrame extends JFrame implements ActionListener{
public KXJSQFrame() {
JButton jb = new JButton("标准计算器");
jb.addActionListener(this);
add(jb);
setLayout(new FlowLayout());
getContentPane().setBackground(Color.YELLOW);
setSize(260, 300);
setTitle("科学计算器");
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
//从科学计算器跳回标准计算器
public void actionPerformed(ActionEvent e) {
this.setVisible(false);
this.dispose();
new JSQFrame().setVisible(true);
}
}
没有什么好方法。几个步骤:1、查找API文档,用java的AWT和swing里面的类画计算机界面2、然后对各个按钮绑定监听器。监听的方法见EventObject类。(难点)3、最后各种实现方法详见Math函数。4、建议所有的数字都是BigDecimal类型,不过开方该类不提供方法,你可以转换为double来计算。