qq_23255831 2015-05-16 03:40 采纳率: 20%
浏览 4058

设计一个计算器用户界面

设计一个计算器用户界面——
不知道怎么布局,改了很多遍都不成功
图一是标准的,图二是我的结果,下面是我打的代码:

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

public class Calculator extends JFrame{

public Calculator() {

    JPanel p1 = new JPanel();

    //frame.setLayout(new FlowLayout());

    p1.setLayout(new GridLayout(4,1));



    p1.add(new JButton("MC"));

    p1.add(new JButton("MR"));

    p1.add(new JButton("MS"));

    p1.add(new JButton("M+"));





    JPanel p2 = new JPanel();

    p2.setLayout(new GridLayout(4,3));



    for(int i = 1; i <= 9; i++){

        p2.add(new JButton("" + i + " "));

    }       



    p2.add(new JButton("0"));

    p2.add(new JButton("+/-"));

    p2.add(new JButton("-"));





    JPanel p3 = new JPanel();

    p3.setLayout(new GridLayout(4,2));



    p3.add(new JButton("/"));

    p3.add(new JButton("sqrt"));

    p3.add(new JButton("*"));

    p3.add(new JButton("%"));

    p3.add(new JButton("-"));

    p3.add(new JButton("1/x"));

    p3.add(new JButton("+"));

    p3.add(new JButton("="));



    JPanel p4 = new JPanel(new BorderLayout());

    p4.setLayout(new GridLayout(1,4));

    p4.add(new JLabel(" "));

    p4.add(new JButton("Backspace"));

    p4.add(new JButton("CE"));

    p4.add(new JButton("C"));



    JPanel p5 = new JPanel(new BorderLayout());

    p5.add(new JTextField("  "),BorderLayout.NORTH);

add(p5,BorderLayout.EAST);

    p5.add(p1,BorderLayout.WEST);

    p5.add(p2,BorderLayout.CENTER);

    p5.add(p3,BorderLayout.EAST);

    p5.add(p4,BorderLayout.NORTH);

    }

public static void main(String[] args) {

    Calculator frame = new  Calculator();

    frame.setTitle("标准计算器");

    frame.setSize(500, 400);

    frame.setLocationRelativeTo(null);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setVisible(true);

    }

}

图一
图二

  • 写回答

4条回答 默认 最新

  • threenewbee 2015-05-16 05:00
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)