【学习笔记】AWT的CardLayout布局管理器
2014-05-02 08:59
295 查看
CardLauouy实现的功能是:这个控件里边有很多控件,但每次只让它显示一个,如下图:
代码实现:
public class CardLayoutTest {
private Frame f = new Frame("test");
private Panel ptop = new Panel();
private Panel pbottom = new Panel();
private final CardLayout cl = new CardLayout();
public void init() {
//为ptop设置布局管理器
ptop.setLayout(cl);
String[] names = { "第一张", "第二张", "第三张", "第四张", "第五张", "第六张" };
// 将六个按钮组件加到Panel里边
for (int i = 0; i < names.length; i++) {
ptop.add(names[i], new Button(names[i]));
}
// 建立"上一张"按钮并绑定监听器,利用CardLayout就可以实现上一张功能
Button previous = new Button("上一张");
previous.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
cl.previous(ptop);
}
});
//与上一张按钮的实现相同
Button next = new Button("下一张");
next.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
cl.next(ptop);
}
});
pbottom.add(previous);
pbottom.add(next);
f.add(ptop);
f.add(pbottom, BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
}
public static void main(String[] args) {
new CardLayoutTest().init();
}
}
自己犯的错误是,忘了设置ptop的布局管理器。
代码实现:
public class CardLayoutTest {
private Frame f = new Frame("test");
private Panel ptop = new Panel();
private Panel pbottom = new Panel();
private final CardLayout cl = new CardLayout();
public void init() {
//为ptop设置布局管理器
ptop.setLayout(cl);
String[] names = { "第一张", "第二张", "第三张", "第四张", "第五张", "第六张" };
// 将六个按钮组件加到Panel里边
for (int i = 0; i < names.length; i++) {
ptop.add(names[i], new Button(names[i]));
}
// 建立"上一张"按钮并绑定监听器,利用CardLayout就可以实现上一张功能
Button previous = new Button("上一张");
previous.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
cl.previous(ptop);
}
});
//与上一张按钮的实现相同
Button next = new Button("下一张");
next.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
cl.next(ptop);
}
});
pbottom.add(previous);
pbottom.add(next);
f.add(ptop);
f.add(pbottom, BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
}
public static void main(String[] args) {
new CardLayoutTest().init();
}
}
自己犯的错误是,忘了设置ptop的布局管理器。
相关文章推荐
- Java GUI学习笔记之初识AWT和Swing
- Java学习笔记(AWT组件 之 按钮)
- Java学习笔记(AWT 之 Frame)
- AWT学习笔记一Frame和Panel
- 学习笔记之JAVA图形设计卷I AWT——第3章 图 形
- Java学习笔记(AWT 之 Panel)
- java学习:AWT组件和事件处理的笔记(1)--文本框上的ActionEvent事件
- Java学习笔记——JAVA图形设计卷I AWT——第一章绪论
- Java学习笔记(AWT组件 之 单行文本框)
- JAVA 学习笔记 - AWT
- 【学习笔记】做java awt界面时学到的东西
- SWT学习笔记(2)——转载倪大鹏的“SWT:AWT和SWING的强大竞争者”
- Java学习笔记(AWT 之 事件处理机制)
- java awt学习笔记
- JAVA学习笔记之AWT的应用
- Java学习笔记(AWT事件及其相应的监听器接口)
- Java学习笔记(AWT 之 对话框)
- Java学习笔记--AWT事件处理
- AWT与Swing的学习笔记
- JAVA(学习笔记1.1.1)——AWT概述