您的位置:首页 > 其它

用Swing制作叠加面板|SWT中的StackLayout实现

2010-05-20 14:17 288 查看
程序中主要用到了一个包org.jdesktop.swingx.StackLayout,这个类与SWT中StackLayout的作用相似但用法不同下面我们举一个例子来看一下:

]import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JLabel;

import org.jdesktop.swingx.StackLayout;

public class Stack {
public static void main(String[] args) {
JFrame frame = new JFrame();
java.awt.Container contentPane = frame.getContentPane();
final StackLayout stack = new StackLayout();
contentPane.setLayout(stack);

final JLabel label1 = new JLabel();
label1.setText("你好1");

final JLabel label2 = new JLabel();
label2.setText("你好2");
label2.setVisible(false);

final JLabel label3 = new JLabel();
label3.setText("你好3");
label3.setVisible(false);

contentPane.add(label1, StackLayout.TOP);
contentPane.add(label2, StackLayout.TOP);
contentPane.add(label3, StackLayout.TOP);

label1.addMouseListener(new MouseAdapter() {

@Override
public void mouseReleased(MouseEvent e) {
label1.setVisible(false);
label2.setVisible(true);
label3.setVisible(false);
}

});

label2.addMouseListener(new MouseAdapter() {

@Override
public void mouseReleased(MouseEvent e) {
label1.setVisible(false);
label2.setVisible(false);
label3.setVisible(true);
}

});

label3.addMouseListener(new MouseAdapter() {

@Override
public void mouseReleased(MouseEvent e) {
label1.setVisible(true);
label2.setVisible(false);
label3.setVisible(false);
}

});

frame.setSize(500,400);
frame.setVisible(true);
}
}


这个例子很简单,大家可以自己试一下。

找不到org.jdesktop.swingx.StackLayout的可以在我的资源里下载:

http://download.csdn.net/source/2374177
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: