一个简单的布局管理器测试

boxlayout测试:

代码

package com.gui.main;


import java.awt.Dimension;


import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.SwingUtilities;
import javax.swing.border.Border;
import javax.swing.border.CompoundBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;


import javax.swing.border.BevelBorder;


import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Toolkit;




public class Program {
	public static void createWindow(){
		JFrame awindow=new JFrame("This is the Window Title");
		//获取Toolkit
		
		awindow.setLocationRelativeTo(null);
		
		//left part of the box
		Box left=Box.createVerticalBox();
		left.add(Box.createVerticalStrut(30));			//支架
		ButtonGroup radioGroup=new ButtonGroup();
		JRadioButton rButton;
		radioGroup.add(rButton=new JRadioButton("Red"));
		left.add(rButton);
		left.add(Box.createVerticalStrut(30));
		radioGroup.add(rButton=new JRadioButton("Green"));
		left.add(rButton);
		left.add(Box.createVerticalStrut(30));
		radioGroup.add(rButton=new JRadioButton("Blue"));
		left.add(rButton);
		left.add(Box.createVerticalStrut(30));
		radioGroup.add(rButton=new JRadioButton("Yellow"));
		left.add(rButton);
		left.add(Box.createGlue());					//胶
		
		JPanel leftPanel=new JPanel(new BorderLayout());
		leftPanel.setBorder(new TitledBorder(new EtchedBorder(),"Line Color"));
		leftPanel.add(left,BorderLayout.CENTER);
		
		Box right=Box.createVerticalBox();
		right.add(Box.createVerticalStrut(30));
		right.add(new JCheckBox("Dashed"));
		right.add(Box.createVerticalStrut(30));
		right.add(new JCheckBox("Thick"));
		right.add(Box.createVerticalStrut(30));
		right.add(new JCheckBox("Rounded"));
		right.add(Box.createGlue());
		
		//Create a panel with a titled border to hold the right Box container
		JPanel rightPanel=new JPanel(new BorderLayout());
		rightPanel.setBorder(new TitledBorder(new EtchedBorder(),"Line properties"));
		rightPanel.add(right,BorderLayout.CENTER);
		
		Box topBox = Box.createHorizontalBox();
		topBox.add(leftPanel);
		topBox.add(Box.createHorizontalStrut(5));
		topBox.add(rightPanel);
		
		
		JPanel bottonPanel=new JPanel();
		bottonPanel.setBorder(new CompoundBorder(BorderFactory.createLineBorder(Color.black,1),BorderFactory.createBevelBorder(BevelBorder.RAISED)));
		Dimension size=new Dimension(80,20);
		Border edge=BorderFactory.createRaisedBevelBorder();
		JButton jbtn;
		bottonPanel.add(jbtn=new JButton("Defaults"));
		jbtn.setBorder(edge);
		jbtn.setPreferredSize(size);
		bottonPanel.add(jbtn=new JButton("OK"));
		jbtn.setBorder(edge);
		jbtn.setPreferredSize(size);
		bottonPanel.add(jbtn=new JButton("Cancel"));
		jbtn.setBorder(edge);
		jbtn.setPreferredSize(size);
	
		Container content=awindow.getContentPane();
		BoxLayout boxel=new BoxLayout(content, BoxLayout.Y_AXIS);
		content.setLayout(boxel);
		content.add(topBox);
		content.add(bottonPanel);
		
		awindow.pack();
		awindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
		awindow.setVisible(true);
	}
	public static void main(String args[]){
		SwingUtilities.invokeLater(new Runnable() {
			
			@Override
			public void run() {
				// TODO Auto-generated method stub
					createWindow();
			}
		});
	}
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值