读书人

gridBagLayout简洁例子

发布时间: 2012-07-18 12:05:40 作者: rapoo

gridBagLayout简明例子

GridBagLayout比较难懂。

?

写了个简单示例 ,如下,有时间再来解释:

?

把它放入ECLIPSE里,运行一下,自己感受感受,用到的图片自己随便找个,10*10的的就行。

?

package sh.xjh.invoke;import javax.swing.*;import java.awt.*;public class TwoColTwoRowPanel extends JFrame {private JPanel jContentPane = null;private JButton jb1;private JButton jb2;private JButton jb3;private JButton jb4;GridBagConstraints c;GridBagLayout gridBagLayout;//sub panelprivate JPanel jpUpHeadImg;private JPanel jpDownHeadImg;//subScrollPaneprivate JScrollPane jspHistory;private JScrollPane jspSendMsg;//jtextAreaprivate JTextArea jtaHistory;private JTextArea jtaSendMsg;//jlabelprivate JLabel jlUpHeadImg;private JLabel jlDownHeadImg;//jbJButton jbSendMsg;public TwoColTwoRowPanel(){initilize();//set sizethis.setSize(800,600);//set locationthis.setLocation(200, 100);//set visiblethis.setVisible(true);//set default close operationthis.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubTwoColTwoRowPanel mgbl=new TwoColTwoRowPanel();}private void initilize(){this.setContentPane(this.getContentPane());}@Overridepublic JPanel getContentPane() {// TODO Auto-generated method stubif(jContentPane==null){jContentPane=new JPanel();//set layout gridBagLayout=new GridBagLayout();jContentPane.setLayout(gridBagLayout);c=new GridBagConstraints();//add jspHistoryc.fill=GridBagConstraints.BOTH;c.gridx=0;//c.gridy=0;c.gridwidth=1;c.gridheight=1;c.weightx=0.9;c.weighty=0.8;//makeButton(jContentPane,this.getJb1(),c,gridBagLayout);this.createSubComp(jContentPane, this.getJspHistory(), c, gridBagLayout);//add jpUpHeadImg//c.fill=GridBagConstraints.BOTH;c.gridx=1;//c.gridy=0;c.gridwidth=1;c.weightx=0.1;c.weighty=0.2;//makeButton(jContentPane,this.getJb2(),c,gridBagLayout);this.createSubComp(jContentPane, this.getJpUpHeadImg(), c, gridBagLayout);//add JspSendMsg//c.fill=GridBagConstraints.BOTH;c.gridx=0;c.gridy=1;c.gridwidth=1;c.gridheight=1;c.weightx=0.9;c.weighty=0.8;//makeButton(jContentPane,this.getJb3(),c,gridBagLayout);this.createSubComp(jContentPane, this.getJspSendMsg(), c, gridBagLayout);//add jpDownHeadImgc.gridx=1;c.gridy=1;//c.fill=GridBagConstraints.NONE;c.gridwidth=1;c.weightx=0.1;c.weighty=0.2;//makeButton(jContentPane,this.getJb4(),c,gridBagLayout);this.createSubComp(jContentPane, this.getJpDownHeadImg(), c, gridBagLayout);//add jbSendMsgc.gridx=1;c.gridy=2;c.gridwidth=1;this.createSubComp(jContentPane, this.getJbSendMsg(), c, gridBagLayout);}return jContentPane;}public JButton getJb1() {if(jb1==null){jb1=new JButton("Button1");}return jb1;}public JButton getJb2() {if(jb2==null){jb2=new JButton("Button2");}return jb2;}public JButton getJb3() {if(jb3==null){jb3=new JButton("Button3");}return jb3;}public JButton getJb4() {if(jb4==null){jb4=new JButton("Button4");}return jb4;}/** * makeButton with constraints * @param jpanel * @param jb * @param c */private void makeButton(JPanel jpanel,JButton jb,GridBagConstraints c,GridBagLayout gridBagLayout){gridBagLayout.setConstraints(jb,c);jpanel.add(jb);}/** * createSubPanel * @param jpanel * @param subJpanel * @param c * @param gridBagLayout */private void createSubComp(JPanel jpanel,JComponent subPanel,GridBagConstraints c,GridBagLayout gridBagLayout){gridBagLayout.setConstraints(subPanel,c);jpanel.add(subPanel);}public JScrollPane getJspHistory() {if(jspHistory==null){jspHistory=new JScrollPane(this.getJtaHistory());}return jspHistory;}public JScrollPane getJspSendMsg() {if(jspSendMsg==null){jspSendMsg=new JScrollPane(this.getJtaSendMsg());}return jspSendMsg;}public JTextArea getJtaHistory() {if(jtaHistory==null){jtaHistory=new JTextArea("History:");jtaHistory.setEditable(false);}return jtaHistory;}public JTextArea getJtaSendMsg() {if(jtaSendMsg==null){jtaSendMsg=new JTextArea();}return jtaSendMsg;}public JPanel getJpUpHeadImg() {if(jpUpHeadImg==null){jpUpHeadImg=new JPanel();jpUpHeadImg.setLayout(new BorderLayout());jpUpHeadImg.add(this.getJlUpHeadImg());//jpUpHeadImg.setBackground(new Color(125,125,125));}return jpUpHeadImg;}public JPanel getJpDownHeadImg() {if(jpDownHeadImg==null){jpDownHeadImg=new JPanel();jpDownHeadImg.setLayout(new BorderLayout());jpDownHeadImg.add(this.getJlDownHeadImg());//jpDownHeadImg.setBackground(Color.blue);}return jpDownHeadImg;}public JLabel getJlUpHeadImg() {jlUpHeadImg=new JLabel(new ImageIcon("image/djwanHead.jpg"));return jlUpHeadImg;}public JLabel getJlDownHeadImg() {jlDownHeadImg=new JLabel(new ImageIcon("image/xiaoXinXinHead2.jpg"));return jlDownHeadImg;}public JButton getJbSendMsg() {if(jbSendMsg==null){jbSendMsg=new JButton("send");}return jbSendMsg;}}

读书人网 >其他数据库

热点推荐