代码:

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. 9-4 Vue 缓存和子传副(组件)方法绑定

    学习了Vue框架近三个月,现在对数据绑定有了点认识,但是发现自己反而对js不是特别的熟. 下面是今天写代码刚好碰到的问题: 缓存的话:3句代码 sessionStorage.setItem(" ...

  2. AspNetCore3.1_Secutiry源码解析_4_Authentication_JwtBear

    title: "AspNetCore3.1_Secutiry源码解析_4_Authentication_JwtBear" date: 2020-03-22T16:29:29+08: ...

  3. SpringBoot2整合Redis多数据源

    配置文件属性 spring: redis: database: 1 host: 192.168.50.144 port: 6379 password: timeout: 600 #Springboot ...

  4. Mol. Cell. Proteomics | 癌细胞衍生的小细胞外囊体通过促进HGF-Met途径促进受体细胞转移

    题目:Cancer cell derived small extracellular vesicles contribute to recipient cell metastasis through ...

  5. Bash语句中的循环语句注意事项

    case #!/bin/bash case $1 in 9) echo "nine" ;; 8) echo "eight" ;; 7) echo "s ...

  6. 脏牛提权CVE-2016-5195

    gcc -pthread dirtyc0w.c -o dirtyc0w 尝试使用gcc -pthread dirtyc0w.c -o dirtyc0w 编译该POC文件 gcc命令是一个编译器套件,可 ...

  7. 补充《解析“60k”大佬的19道C#面试题(上)》

    [广州.NET技术俱乐部]微信群的周杰写了一篇文章<解析“60k”大佬的19道C#面试题(上)>https://www.cnblogs.com/sdflysha/p/20200325-19 ...

  8. 滑动窗口-Substring Search Problem

    2018-07-18 11:19:19 一.Minimum Window Substring 问题描述: 问题求解: public String minWindow(String s, String ...

  9. 检测页面是否允许使用Flash

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 微信APP支付-java后台实现

    不说废话,直接上代码 先是工具类(注意签名时要排序): import java.io.BufferedReader; import java.io.ByteArrayInputStream; impo ...