码迷,mamicode.com
首页 > 编程语言 > 详细

java-布局及补充组件

时间:2015-05-23 15:38:26      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:java   布局   

java-布局及补充组件
基本布局方式

一 卡片布局-CardLayou

二 边界布局-BorderLayout东南西北中的方式

三 网格袋布局-GridBagLayout

四 分割面板-JSplitPanel只能分割两个组件,类型不限

相应的方法可以API中查询,前面的文章提供了API的下载链接

补充组件

五 选项卡组件-JTabbedPane

六 桌面组件-JDesktopPane

七 内部窗体组件-JInternalFrame

实现一个小程序,利用卡片布局
基本思想

建立3个面板

->建立一个卡片

->在其中一个面板上添加卡片

->将另外两个面板添加到卡片上,将面板设置不同的颜色

->在卡片上的两个面板上分别建立两个按钮

->为按钮添加事件处理机制,点击其中一个面板上的按钮,显示另外一个面板的颜色

面板上添加卡片

卡片上添加面板

面板上在添加两个按钮

按钮设置事件处理机制

点击按钮实现面板转换
eg:
package com.chengzhi.pkg1;

import java.awt.CardLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class TestGui extends JFrame implements ActionListener{
    JPanel p1, p2, p3;
    JButton b1, b2;
    CardLayout cardlayout;
	public TestGui(){
		p1 = new JPanel();
		p2 = new JPanel();
		p3 = new JPanel();
		b1 = new JButton("显示红色按钮");
		b2 = new JButton("显示绿色按钮");
		cardlayout = new CardLayout();
		p1.setLayout(cardlayout);
		
		p2.setBackground(Color.red);
		p3.setBackground(Color.green);
		p1.add("panel2", p2);
		p1.add("panel3", p3);
		p2.add(b2);
		p3.add(b1);
		this.getContentPane().add(p1);
		this.setSize(300, 300);
		this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		
		//cardlayout.last(p1);
		//cardlayout.first(p1);
		//cardlayout.show(p1, "panel2");
		b1.addActionListener(this);
		b2.addActionListener(this);
		
		
	}
	public static void main(String[] args) {
		 new TestGui();
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		 JButton b = (JButton)e.getSource();
		 if (b == b1){
			 //cardlayout.show(p1, "panel2");
			 cardlayout.next(p1);
		 }
		 if (b == b2)
		 {
			 //cardlayout.show(p1, "panel3");
			 cardlayout.next(p1);
		 }
	}

}









java-布局及补充组件

标签:java   布局   

原文地址:http://blog.csdn.net/qq_22075977/article/details/45934225

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!