D2D网络数据存储器开发全过程(4)

本文介绍使用Java Swing构建应用程序界面的过程,包括使用JSplitPane进行布局分区,以及通过全局对象简化状态管理的方法。

 第四章:

呵,该到主体界面的开发了。第一章已经给出了软件的雏形,现在说起来也方便些。主体部分的内容以后会很丰富,所有用一个面板单独出了BodyPanel。我们在MainFrame的构造函数中添加

 

// 添加主体部分
        Container contentPane  =  getContentPane();
        
// add a bottom of the body pane
        BodyPanel bodyPanel  =   new  BodyPanel();
        contentPane.add(bodyPanel,BorderLayout.CENTER);
        contentPane.add(DTDCommObj.statusLabel,BorderLayout.SOUTH);
        contentPane.add(
new  JLabel( "   " ),BorderLayout.EAST);
        contentPane.add(
new  JLabel( "   " ),BorderLayout.WEST);

大家发现多了一个DTDCommObj.statusLabel。是的,系统中难免会用到全局对象和变量。这样定义会很方便。呵呵,也许你说这样的定义会破坏面向对象开发的独立对象的思想,是的。呵呵,不过这样带来的方便性,给处理复杂对象会带来极大的便利。我的这个程序中,坚持以面向对象为主,面向便利为辅。

这时候,我们再建立一个DTDCommObj类,来存放一些系统全局的对象。

此时的整个代码结构图如:

DTDCommObj.java

 

package  comm;

import  java.io.File;

import  javax.swing.JLabel;
import  javax.swing.JTextArea;

public   class  DTDCommObj  {
    
public static JLabel statusLabel;
    
static{
        statusLabel 
= new JLabel("||");
    }

}

根据规划,我们看得出,主界面需要三块的panel,左右,和底部。这就需要我们用两个java的JSplitPane,来实现。我们可以先上下分panel,然后将上面的panel左右分。于是,我们建立三个panel:LeftPanel,RightPanel,ButtomPanel

 

package  panel;

import  javax.swing.JPanel;

public   class  LeftPanel  extends  JPanel {

}


package  panel;

import  javax.swing.JPanel;

public   class  RightPanel  extends  JPanel {

}


package  panel;

import  javax.swing.JPanel;

public   class  ButtomPanel  extends  JPanel {

}

我们将这三个panel组织到一起:

BodyPanel.java

 

package  panel;

import  java.awt.GridLayout;

import  javax.swing.JPanel;
import  javax.swing.JSplitPane;

public   class  BodyPanel  extends  JPanel {
    
public BodyPanel(){
        
super();
        
//添加左边panel
        LeftPanel leftPanel = new LeftPanel();
        
//添加右边panel
        RightPanel rightPanel = new RightPanel();
        JSplitPane panel 
= new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,leftPanel,rightPanel);
        panel.setDividerSize(
6);
        panel.setContinuousLayout(
true);
        panel.setOneTouchExpandable(
true);
        panel.setDividerLocation(
200);
        
        
//添加下边panel
        ButtomPanel buttomPanel = new ButtomPanel();
        JSplitPane panel2 
= new JSplitPane(JSplitPane.VERTICAL_SPLIT,panel,buttomPanel);
        panel2.setDividerSize(
6);
        panel2.setContinuousLayout(
true);
        panel2.setOneTouchExpandable(
true);
        panel2.setDividerLocation(
345);
        
        
this.setLayout(new GridLayout(1,1));
        
this.add(panel2);
    }

}

 

呵呵,程序的整体界面框架是不是就出来了。有没有点兴奋的感觉。原来java做界面是这么简单。

呵呵,打个包,稍后继续。

http://www.018008.com/v/D2D1.0_3.rar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值