`
lg_asus
  • 浏览: 185061 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JLayeredPane層次問題

阅读更多
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JLayeredPaneDemo1 extends JFrame {

	public JLayeredPaneDemo1(){
		super("JLayeredPaneDemo1");
		Integer[] layerConstants = {JLayeredPane.DEFAULT_LAYER,JLayeredPane.PALETTE_LAYER,new Integer(101),
				JLayeredPane.MODAL_LAYER,new Integer(201),JLayeredPane.POPUP_LAYER,JLayeredPane.DRAG_LAYER};
		
		Color[] colors = {Color.red,Color.blue,Color.magenta,Color.cyan,Color.yellow,Color.green,Color.pink};
		
		Point position = new Point(10,10);
		
		JLabel[] labels = new JLabel[7];
		JLayeredPane layeredPane = this.getLayeredPane();
		JLabel temp_label = new JLabel("content pane");
		temp_label.setBounds(100,100,400,400);
		temp_label.setOpaque(true);
		this.getContentPane().add(temp_label);
		layeredPane.add(temp_label);//會覆蓋content pane中的temp_label
		for(int i=0;i<7;i++){
			labels[i] = createLabel("第"+(i+1)+"層",colors[i],position);
			position.x = position.x+20;
			position.y = position.y+20;
			layeredPane.add(labels[i],layerConstants[i]);
		}
		this.setSize(new Dimension(500,500));
		
		JButton button1 = new JButton("button1");
		button1.setOpaque(true);
		button1.setBackground(Color.black);
		button1.setForeground(Color.blue);
		button1.setBounds(new Rectangle(0,0,200,200));
		
		JButton button2 = new JButton("button2");
		button2.setOpaque(true);
		button2.setBackground(Color.green);
		button2.setForeground(Color.red);
		button2.setBounds(new Rectangle(100,100,200,200));//setBounds一定不能省,否則顯示不出來。而content pane中就不需要手動來設置Bounds
		
		layeredPane.add(button1,new Integer(10),1);
		layeredPane.add(button2,new Integer(10),-1);
		
		this.setVisible(true);
		this.addWindowListener(new WindowAdapter(){
			@Override
			public void windowClosing(WindowEvent e){
				System.exit(0);
			}
		});
		
	}
	
	public JLabel createLabel(String content,Color color,Point position){
		JLabel label = new JLabel(content,JLabel.CENTER);
		label.setVerticalAlignment(JLabel.TOP);
		label.setBackground(color);
		label.setOpaque(true);
		label.setBounds(position.x,position.y,100,100);
		return label;
	}
	
	public static void main(String...args){
		new JLayeredPaneDemo1();
	}
}


參考:深入淺出Java Swing程序設計
分享到:
评论

相关推荐

    java swing-JLayeredPane的使用

    JLayeredPane 是 Java Swing 库提供的一个容器组件,用于在单个容器中叠放和管理多个组件。它允许使用层级来控制组件的显示顺序,从而创建更灵活、多层次的用户界面。

    Java JLayeredPane 实现分层窗体框架

    Java实现分层框体,实现思路是:先创建一个JLayeredPane 类的实例,然后逐个地在这个对象的不同层上添加不同颜色的JLabel 对象。在不同层上添加JLabel 对象的方法如下:  layeredPane.add(label, new Integer(i));/...

    LayeredPane

    用java做的JLayeredPane实例

    Gui讲义及常用案例多窗体

    GUI多窗体 SWING 窗体 JLayeredPane.PALETTE_LAYER, new Integer(101), JLayeredPane.MODAL_LAYER,

    java-swing 学习代码

    如何使用面板组件 使用JPanel 使用JScrollPane 使用JSplitPane 使用JTabbedPane 使用JIntemalFrame 使用JLayeredPane 使用JRootPane

    Swing 窗口与面版的使用

    介绍Frame和Panel容器的使用方法和时机。针对JFrame,JInternalFrame,JLayeredPane,JPanel,JScrollBar,JSplitPane,JTabbedPane写有详细的可执行代码。

    Java多层的窗口框架实现一例.rar

    Java多层的窗口框架实现一例,主要是使用JLayeredPane 类来实现,看上去效果不错,最好是下载源代码一看究竟吧,截图看不出什么。

    Swing组件下载(常用组件)

    分层窗格:JLayeredPane 标签:JLabel 按钮:JButton 开启/关闭按钮:JToggleButton 复选框:JCheckBox 单选按钮:JRadioButton 按钮组:ButtonGroup 组合框:JComboBox 列表:JList 文本字段:JTextField 文本...

    java 实现层布局Demo.rar

    layeredPane = new JLayeredPane(); layeredPane.setBounds(10, 10, 700, 500); btn1 = new JButton("按钮一"); btn1.setBounds(10, 10, 100, 30); layeredPane.add(btn1, new Integer(1), 1); btn2 ...

    Java Swing示例

    这个示例并不是Swing的完整演示,演示了一些常规组件的使用方法,也演示了一些组件的巧妙运用(YY一下,哈哈),如JTextArea的取消重做,用JLayeredPane实现动态的悬浮框,JTextPane演示等等。 我上传的是NetBean的...

    java2实验实用模板代码

    java2实验实用模板代码(第三版) ...实验1 JLAYEREDPANE分层窗格 72 实验2 进度条 73 实验3 使用表格显示日历 75 实验4 多文档界面(MDI) 80 上机实践12 数据结构 84 实验1 随机布雷 84 实验2 使用TREESET排序 86

    Java程序设计复习题.docx.docx

    JLayeredPane C. JscrollPane D. JsplitPane 有一段java应用程序,它的主类名是Abe,那么保存它的源文件名可以是。 abc. java B. Abe. class C. Abe. java D.以上都可以 Java程序设计复习题全文共19页,当前为第2页...

    疯狂JAVA讲义

    第1章 Java概述 1 1.1 Java语言的发展简史 2 1.2 Java的竞争对手及各自优势 4 1.2.1 C#简介和优势 4 1.2.2 Ruby简介和优势 4 1.2.3 Python的简介和优势 5 ...学生提问:当我们使用编译C程序时,不仅需要指定存放...

    Java实用教程实验代码及答案

    实验1 JLAYEREDPANE分层窗格.............................................................................................80 实验2 使用表格显示日历...........................................................

    SWING图形界面开发手册.pdf

    Java 图形界面开发简介 .............. ................................ ................................ ..... 5 1. Swing1. Swing1. Swing 1. Swing1. Swing1.... Swing简介 ...................................

    Java 2实用教程(第三版)实验指导与习题解答

    实验1 JLayeredPane分层窗格 74 实验2 使用表格显示日历 75 实验3 多文档界面(MDI) 78 上机实践1 初识Java 实验1 一个简单的应用程序 2.模板代码 Hello.java package 实验一; public class Hello { /** * @...

Global site tag (gtag.js) - Google Analytics