zoukankan      html  css  js  c++  java
  • Spring 做一个计算器界面(解决控件覆盖问题)

      1 import java.awt.BorderLayout;
      2 
      3 import javax.swing.*;
      4 public class ForJava {
      5 
      6     public static void main(String[] args) {        
      7         JFrame frame=new CCal(400,300);
      8         frame.setVisible(true);
      9     }
     10 }
     11 class CCal extends JFrame{
     12     public CCal(int w,int h){
     13         setLocation(200, 160);
     14         setSize(w, h);
     15         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     16         
     17         
     18         JPanel displayPanel=new JPanel();
     19         JButton cbtn=new JButton();
     20         cbtn.setText("c");
     21         displayPanel.add(cbtn);
     22         
     23         JTextArea display=new JTextArea();
     24         display.setColumns(20);
     25         displayPanel.add(display);
     26         getContentPane().add(displayPanel, BorderLayout.NORTH);
     27         
     28         JPanel panelTemp1=new JPanel();
     29         panelTemp1.setLayout(new BorderLayout());
     30         getContentPane().add(panelTemp1);
     31         
     32         JPanel cachePanel=new JPanel();
     33         panelTemp1.add(cachePanel, BorderLayout.NORTH);
     34         JButton mbtnMR=new JButton();
     35         mbtnMR.setText("MR");
     36         cachePanel.add(mbtnMR);
     37         JButton mbtnMC=new JButton();
     38         mbtnMC.setText("MC");
     39         cachePanel.add(mbtnMC);
     40         JButton mbtnMS=new JButton();
     41         mbtnMS.setText("MS");
     42         cachePanel.add(mbtnMS);
     43         JButton mbtnMP=new JButton();
     44         mbtnMP.setText("M+");
     45         cachePanel.add(mbtnMP);
     46         
     47         
     48         JPanel panelTemp2=new JPanel();
     49         panelTemp2.setLayout(new BorderLayout());
     50         panelTemp1.add(panelTemp2);
     51         
     52         JPanel panelButton1=new JPanel();
     53         panelTemp2.add(panelButton1, BorderLayout.NORTH);
     54         JButton mbtn1=new JButton();
     55         mbtn1.setText("1");
     56         panelButton1.add(mbtn1);
     57         JButton mbtn2=new JButton();
     58         mbtn2.setText("2");
     59         panelButton1.add(mbtn2);
     60         JButton mbtn3=new JButton();
     61         mbtn3.setText("3");
     62         panelButton1.add(mbtn3);
     63         JButton mbtnP=new JButton();
     64         mbtnP.setText("+");
     65         panelButton1.add(mbtnP);
     66         
     67         JPanel panelTemp3=new JPanel();
     68         panelTemp3.setLayout(new BorderLayout());
     69         panelTemp2.add(panelTemp3);
     70         
     71         JPanel panelButton2=new JPanel();
     72         panelTemp3.add(panelButton2, BorderLayout.NORTH);
     73         JButton mbtn4=new JButton();
     74         mbtn4.setText("4");
     75         panelButton2.add(mbtn4);
     76         JButton mbtn5=new JButton();
     77         mbtn5.setText("5");
     78         panelButton2.add(mbtn5);
     79         JButton mbtn6=new JButton();
     80         mbtn6.setText("6");
     81         panelButton2.add(mbtn6);
     82         JButton mbtnMi=new JButton();
     83         mbtnMi.setText("-");
     84         panelButton2.add(mbtnMi);
     85         
     86         JPanel panelTemp4=new JPanel();
     87         panelTemp4.setLayout(new BorderLayout());
     88         panelTemp3.add(panelTemp4);
     89         
     90         JPanel panelButton3=new JPanel();
     91         panelTemp4.add(panelButton3, BorderLayout.NORTH);
     92         JButton mbtn7=new JButton();
     93         mbtn7.setText("7");
     94         panelButton3.add(mbtn7);
     95         JButton mbtn8=new JButton();
     96         mbtn8.setText("8");
     97         panelButton3.add(mbtn8);
     98         JButton mbtn9=new JButton();
     99         mbtn9.setText("9");
    100         panelButton3.add(mbtn9);
    101         JButton mbtnMu=new JButton();
    102         mbtnMu.setText("*");
    103         panelButton3.add(mbtnMu);
    104         
    105         JPanel panelTemp5=new JPanel();
    106         panelTemp5.setLayout(new BorderLayout());
    107         panelTemp4.add(panelTemp5);
    108         
    109         JPanel panelButton4=new JPanel();
    110         panelTemp5.add(panelButton4, BorderLayout.NORTH);
    111         JButton mbtn0=new JButton();
    112         mbtn0.setText("0");
    113         panelButton4.add(mbtn0);
    114         JButton mbtnPorM=new JButton();
    115         mbtnPorM.setText("+/-");
    116         panelButton4.add(mbtnPorM);
    117         JButton mbtnEq=new JButton();
    118         mbtnEq.setText("=");
    119         panelButton4.add(mbtnEq);
    120         JButton mbtnDiv=new JButton();
    121         mbtnDiv.setText("/");
    122         panelButton4.add(mbtnDiv);
    123     }
    124     
    125     
    126 }

     要使几行按钮排列不被重叠,就需要JPanel的嵌套:

     1 JPanel up1=new JPanel();
     2 /*增加button等*/
     3 getContentPane().add(up1,BorderLayout.north));
     4 
     5 JPanel down1 = new JPanel();
     6 down1.setLayout(new BorderLayout());
     7 getContentPane().add(down1,BorderLayout.north));
     8 /*down1不增加button这些控件,只作为下一个Jpanel的底层/*
     9 
    10 JPanel up2 = new JPanel();
    11 down1.add(up2,BorderLayout.NORTH));
    12 /*添加控件*/
    13 
    14 JPanel down2 = new Jpanel();
    15 down2.setLayout(new BorderLayout());
    16 down1.add(down2);
    17 //.......................
  • 相关阅读:
    php json_encode数据格式化2种格式[]和{}
    PHP实现执行定时任务的几种思路详解
    PHP json_encode 转换成空对象和空数组
    程序员职业病的种类和预防
    清空数据表并重置索引
    实现PHP中的 JSON_ENCODE 不转义中文汉字的方法
    pchart生成折线图
    自定义皮肤啦
    honeyview——本地图片浏览器
    使用potplayer视频播放器的录制屏幕功能
  • 原文地址:https://www.cnblogs.com/fillim/p/4139082.html
Copyright © 2011-2022 走看看