代码:

package calculator;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class cal extends JFrame{
    private JTextField tf =new JTextField("0");

    public void addButton(String name,GridBagLayout g ,GridBagConstraints c){
        JButton btn = new JButton(name);
        g.setConstraints(btn, c);
        add(btn);
    }

    public void lauch(){
        //文本是不可以编辑的
        tf.setEditable(false);
        GridBagLayout gb = new GridBagLayout();
        setLayout(gb);
        GridBagConstraints c  = new GridBagConstraints();
        //文本是放在最上面的,占用那一行所有的空间
        c.weightx=0.3;
        c.weighty=0.3;
        c.gridy  = 0 ;
    //    c.anchor = GridBagConstraints.EAST;
        c.gridwidth = 4 ;
        c.fill = GridBagConstraints.BOTH;
        add(tf,c);

        //需要另起一行添加按钮
        c.gridy =1;

        c.gridwidth =1 ;
        addButton("MC", gb, c);
        addButton("M+", gb, c);
        addButton("M-", gb, c);
        addButton("MR", gb, c);
        c.gridy = 2;

        addButton("c", gb, c);
        addButton("+", gb, c);
        addButton("/", gb, c);
        addButton("*", gb, c);
        c.gridy = 3;

        addButton("7", gb, c);
        addButton("8", gb, c);
        addButton("9", gb, c);
        addButton("-", gb, c);
        c.gridy = 4;

        addButton("4", gb, c);
        addButton("5", gb, c);
        addButton("6", gb, c);
        addButton("+", gb, c);

        c.gridy = 5 ;
        addButton("1", gb, c);
        addButton("2", gb, c);
        addButton("3", gb, c);
        c.gridx = GridBagConstraints.RELATIVE;
        c.gridheight= GridBagConstraints.REMAINDER ;
        c.fill = GridBagConstraints.BOTH;
        //c.anchor  = GridBagConstraints.SOUTH;
        addButton("=", gb, c);
        c.gridy = 6 ;
        c.gridx= 0 ;
        c.gridheight = 1 ;
        c.gridwidth  =2 ;
        addButton("0",gb,c);
        c.gridx  = GridBagConstraints.RELATIVE;
        c.gridwidth  =1 ;
        addButton(".",gb,c);
    setBounds(100,100,300,500);
        //this.pack();
        setVisible(true);
    }

    public static void main(String[] args) {
            cal c = new cal();
            c.lauch();

    }

}

java仿win7计算器布局的更多相关文章

  1. Java课程设计-计算器 郑子杰(201521123021)

    1.团队课程设计博客链接 http://www.cnblogs.com/I-love-java/p/7058752.html 2.个人负责模块或任务说明 ①图形界面的初始化 ②图形界面的排版设计 ③主 ...

  2. WPF仿Win7便笺

    最近用WPF写了个仿WIN7下面的便笺小工具,还算是比较华丽的,相似度99%以上吧,在集成了便笺原有的功能以外,当然也做了略微的修改,比如加了关于作者版本信息和修改了原有删除便笺的系统弹出框.软件开机 ...

  3. (转)Java 的swing.GroupLayout布局管理器的使用方法和实例

    摘自http://www.cnblogs.com/lionden/archive/2012/12/11/grouplayout.html (转)Java 的swing.GroupLayout布局管理器 ...

  4. Java对象的内存布局

    对象的内存布局 平时用java编写程序,你了解java对象的内存布局么? 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域: 对象头 实例数据 对齐填充 对象头 对象头包括两部分信息: ...

  5. 【java】浅析java组件中的布局管理器

    这篇博文笔者介绍一下java组件中,常用的布局管理器.java组件中的布局方式有好几十种,所有的这些布局管理器都实现了java.awt.LayoutManager接口.接下来笔者介绍一下常用的5种布局 ...

  6. Android计算器布局

    Android(安桌)计算器布局实现         ——解决整个屏幕方案 引言:     学完了android布局的几种方式,做了一个android计算器. 我在网上搜索了这方面的资料,发现了布局都 ...

  7. Java对象的内存布局以及对象的访问定位

    一 Java对象的内存布局 在HotSpot虚拟机中,对象在内存中的布局分为3个区域 对象头(Header) Mark Word(在32bit和64bit虚拟机上长度分别为32bit和64bit)存储 ...

  8. 3 Java对象的内存布局以及对象的访问定位

    先来看看Java对象在内存中的布局   一 Java对象的内存布局 在HotSpot虚拟机中,对象在内存中的布局分为3个区域 对象头(Header) Mark Word(在32bit和64bit虚拟机 ...

  9. Java单个对象内存布局.md

    我们在如何获取一个Java对象所占内存大小的文章中写了一个获取Java对象所占内存大小的工具类(ObjectSizeFetcher),那么接下来,我们使用这个工具类来看一下Java中各种类型的对象所占 ...

随机推荐

  1. 爬虫前奏——代理ip的使用

    如果同一个IP短时见内多次访问统一网页,可能会被系统识别出是爬虫,因此使用代理IP可以很大程度上解决这一问题 常用的代理有: 西刺免费代理:www.xicidaili.com 快代理:www.kuai ...

  2. can do / will do / should do 情态动词

    can do = be able to do will do = be going to do should do = ought to do 情态动词 都是表示建议 从这里发现 to do (不确定 ...

  3. Docker镜像拉取慢的解决方法

    镜像加速器配置: 下文配置引用于阿里云说明文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 1. 安装/升级Docker客户 ...

  4. Springboot CORS跨域访问

    Springboot CORS跨域访问 什么是跨域 浏览器的同源策略限制: 它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础 ...

  5. 一文总结数据科学家常用的Python库(下)

    用于建模的Python库 我们已经到达了本文最受期待的部分 - 构建模型!这就是我们大多数人首先进入数据科学领域的原因,不是吗? 让我们通过这三个Python库探索模型构建. Scikit-learn ...

  6. 开发一个健壮的npm包

    项目地址:loan-calculate-utils npm包的发布.更新查看上一篇文章 开发一个基础的npm包 目前我们的目录是这个样子: . ├── source 源代码目录 │   └── ind ...

  7. Java并发编程锁之独占公平锁与非公平锁比较

    Java并发编程锁之独占公平锁与非公平锁比较 公平锁和非公平锁理解: 在上一篇文章中,我们知道了非公平锁.其实Java中还存在着公平锁呢.公平二字怎么理解呢?和我们现实理解是一样的.大家去排队本着先来 ...

  8. 商品spu 和 sku的关系

    总结一下在目前的电商系统中的商品涉及的属性spu,sku.搞清楚两者之间的关系对表的设计非常重要 spu Standard Product Unit (标准产品单位) ,一组具有共同属性的商品集 SK ...

  9. JS函数详解

    什么是函数呢? 对于JS来说,我们可以把函数理解为任意一段代码放在一个盒子里,在我们想要让这段代码执行的时候,直接执行这个盒子里的代码就行.专业一点来讲:js函数就是由事件驱动的可执行课重复只用的代码 ...

  10. Day19-apache

    HTTPD(俗称apache) 简介:目前来说,Linuxweb服务器主要用apache与nginx. 1.web服务器的输入/输出结构: 单线程I/O结构 多线程I/O结构 复用的I/O结构,单个线 ...