Java学习笔记之用Box布局swing界面

转载地址:http://blog.csdn.net/sjf0115/article/details/7064909

主要就用到了这四个方法

createHorizontalBox() 
          创建一个从左到右显示其组件的 Box

createHorizontalStrut(int width)              //左右部件之间的中间间隔就可以用这个方法来控制
          创建一个不可见的、固定宽度的组件。

createVerticalBox() 
          创建一个从上到下显示其组件的 Box

createVerticalStrut(int height)            //上下部件之间的中间间隔就可以用这个方法来控制
          创建一个不可见的、固定高度的组件。

效果图如下

Java学习笔记之用Box布局swing界面_第1张图片

[java]  view plain copy
  1. package com.geogro.webapp.applet.track;  
  2.   
  3.   
  4. import java.awt.*;  
  5. import javax.swing.*;  
  6. import javax.swing.border.*;  
  7.   
  8.   
  9. /**3G版本的数据过滤面板,输入过滤值查询3G值. 
  10.  * 
  11.  * @author snail 
  12.  * @date 07-03-26 
  13.  * @version 1.0 
  14.  */  
  15. public class Fliter3GPanel extends JPanel {  
  16.    private static Font defaultFont = new Font("SimSun", Font.PLAIN, 12); //默认字体  
  17.    TitledBorder titledBorder1 = new TitledBorder("参数设置");  
  18.    JTextField xTextField;  
  19.    JTextField yTextField;  
  20.    JTextField zTextField;  
  21.    JTextField inteTextField;  
  22.    DateChooserJButton fliterStartTimeButton;  
  23.    DateChooserJButton fliterEndTimeButton;  
  24.    JProgressBar fliterLoadBar;  
  25.    JButton okButton;  
  26.    JButton cancelButton;  
  27.   
  28.    private void jbInit() throws Exception {  
  29.       Box b = Box.createVerticalBox();  
  30.       JLabel bannerLabel = new JLabel("3G数据过滤查询");  
  31.       b.add(bannerLabel);  
  32.   
  33.       //-------------setTheInputPanel------------------------------  
  34.   
  35.       JPanel inputPanel = new JPanel();  
  36.       TitledBorder inputPanelBorder = new TitledBorder("设置参数");  
  37.       inputPanelBorder.setTitleFont(defaultFont);  
  38.       inputPanel.setBorder(inputPanelBorder);  
  39.   
  40.       Box vtemp = Box.createVerticalBox();  
  41.       Box htemp1 = Box.createHorizontalBox();  
  42.       Box htemp2 = Box.createHorizontalBox();  
  43.       Box htemp3 = Box.createHorizontalBox();  
  44.       Box htemp4 = Box.createHorizontalBox();  
  45.       Box htemp5 = Box.createHorizontalBox();  
  46.       Box htemp6 = Box.createHorizontalBox();  
  47.       Box htemp7 = Box.createHorizontalBox();  
  48.       Box htemp8 = Box.createHorizontalBox();  
  49.   
  50.       xTextField = new JTextField();  
  51.       xTextField.setPreferredSize(new Dimension(5010));  
  52.       htemp1.add(new JLabel("横向:"));  
  53.       htemp1.add(Box.createHorizontalStrut(10));     //创建label和textFied之间的距离  
  54.       htemp1.add(xTextField);  
  55.       htemp1.add(new JLabel("(例:3.01)"));  
  56.   
  57.       yTextField = new JTextField();  
  58.       yTextField.setPreferredSize(new Dimension(5010));  
  59.       htemp2.add(new JLabel("纵向:"));               
  60.       htemp2.add(Box.createHorizontalStrut(10));  
  61.       htemp2.add(yTextField);  
  62.       htemp2.add(new JLabel("(例:4.01)"));  
  63.   
  64.       zTextField = new JTextField();  
  65.       zTextField.setPreferredSize(new Dimension(5010));  
  66.       htemp3.add(new JLabel("垂直:"));  
  67.       htemp3.add(Box.createHorizontalStrut(10));  
  68.       htemp3.add(zTextField);  
  69.       htemp3.add(new JLabel("(例:3.01)"));  
  70.   
  71.       inteTextField = new JTextField();  
  72.       inteTextField.setPreferredSize(new Dimension(5010));  
  73.       htemp4.add(new JLabel("综合:"));  
  74.       htemp4.add(Box.createHorizontalStrut(10));  
  75.       htemp4.add(inteTextField);  
  76.       htemp4.add(new JLabel("(例:5.01)"));  
  77.   
  78.       fliterStartTimeButton = new DateChooserJButton();  
  79.       JLabel tmpLabel = new JLabel("开始时间:");  
  80.       htemp5.add(tmpLabel);  
  81.       htemp5.add(fliterStartTimeButton);  
  82.   
  83.       fliterEndTimeButton = new DateChooserJButton();  
  84.       JLabel tmpLabel2 = new JLabel("结束时间:");  
  85.       htemp6.add(tmpLabel2);  
  86.       htemp6.add(fliterEndTimeButton);  
  87.   
  88.       fliterLoadBar = new JProgressBar();  
  89.       JLabel tmpLabel3 = new JLabel("进度:");  
  90.       htemp7.add(tmpLabel3);  
  91.       htemp7.add(fliterLoadBar);  
  92.   
  93.       okButton = new JButton("过滤");  
  94.       cancelButton = new JButton("撤销");  
  95.       htemp8.add(okButton);  
  96.       htemp8.add(Box.createHorizontalStrut(10));  
  97.       htemp8.add(cancelButton);  
  98.   
  99.       vtemp.add(htemp1);  
  100.       vtemp.add(Box.createVerticalStrut(10));                  //创建上下空间距离  
  101.       vtemp.add(htemp2);  
  102.       vtemp.add(Box.createVerticalStrut(10));  
  103.       vtemp.add(htemp3);  
  104.       vtemp.add(Box.createVerticalStrut(10));  
  105.       vtemp.add(htemp4);  
  106.       vtemp.add(Box.createVerticalStrut(10));  
  107.       vtemp.add(htemp5);  
  108.       vtemp.add(Box.createVerticalStrut(10));  
  109.       vtemp.add(htemp6);  
  110.       vtemp.add(Box.createVerticalStrut(25));  
  111.       vtemp.add(htemp7);  
  112.       vtemp.add(Box.createVerticalStrut(5));  
  113.       vtemp.add(htemp8);  
  114.   
  115.       inputPanel.add(vtemp);  
  116.       //----------------------------------------------------------  
  117.   
  118.       //------------other panel init here-------------------------  
  119.   
  120.       //initCode!  
  121.   
  122.       //----------------------------------------------------------  
  123.   
  124.   
  125.       b.add(inputPanel);  
  126.       //b.add(otherPanel);  
  127.   
  128.       this.add(b, BorderLayout.NORTH);  
  129.    }  
  130.   
  131.   
  132.    public Fliter3GPanel() {  
  133.       try {  
  134.          jbInit();  
  135.       }  
  136.       catch (Exception ex) {  
  137.          ex.printStackTrace();  
  138.       }  
  139.    }  
  140.   
  141. }  

你可能感兴趣的:(java,swing,box,布局,界面开发)