Swing之卡片布局管理器实例
2013-09-19 08:59
363 查看
1 这个有点意思,貌似用处也不大,很好理解,为了保证实例整合,尽量把实例公共部分整合到父类Frameset中了,为了减少冗余代码,可能有的人不太了解
2 把Frameset贴出来了,一个有三个初始化的地方,这三个是自动调用的,本来不重写也可以的,但是为了完成自身的实例必须要重写呢,要不就自己 不重写,写的别的方法,好在我的不是抽象方法,不必必须实现。不然更加让人看的一头雾水。此父类对Swing组下所有的实例都适用,都在用这个父类
3
package com.szsm.swing.framepanel; import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; import com.szsm.swing.parent.FrameSet; public class CardFrame extends FrameSet{ public CardFrame() { } @Override protected void init() { super.init(); } @Override protected void initInterface() { // TODO Auto-generated method stub super.initInterface(); final CardLayout cardLayout = new CardLayout(); final JPanel cardPanel = new JPanel(cardLayout); parentContainer.add(cardPanel,BorderLayout.CENTER); for (int i = 1; i < 10; i++) { JLabel label = new JLabel("card"+i); cardPanel.add(label); } JPanel btnPanel = new JPanel(); parentContainer.add(btnPanel,BorderLayout.SOUTH); String[] strs = new String[]{"first","last","previous","after"}; for (int i = 0; i < 4; i++) { final JButton btn = new JButton(strs[i]); btnPanel.add(btn); btn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { System.out.println(btn.getText()); if("previous".equals(btn.getText())) { cardLayout.previous(cardPanel); } else if("after".equals(btn.getText())) { cardLayout.next(cardPanel); } else if("first".equals(btn.getText())) { cardLayout.first(cardPanel); } else if("last".equals(btn.getText())) { cardLayout.last(cardPanel); System.out.println("deo"); } } }); } } public static void main(String[] args) { new CardFrame(); } }
2 把Frameset贴出来了,一个有三个初始化的地方,这三个是自动调用的,本来不重写也可以的,但是为了完成自身的实例必须要重写呢,要不就自己 不重写,写的别的方法,好在我的不是抽象方法,不必必须实现。不然更加让人看的一头雾水。此父类对Swing组下所有的实例都适用,都在用这个父类
package com.szsm.swing.parent; import java.awt.Container; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.JFrame; public abstract class FrameSet extends JFrame{ protected Container parentContainer = null; public FrameSet() { init(); initInterface(); initend(); System.out.println("是否调用"); } protected void init() { this.setLocation(400,100); this.setSize(400,300); } protected void initInterface() { parentContainer = this.getContentPane(); System.out.println("是否调用2"); } protected void initend() { this.setVisible(true); this.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub super.windowClosing(e); FrameSet.this.dispose(); } }); } }
3
相关文章推荐
- java Swing编程之布局管理器简单实例DEMO
- Java编程使用卡片布局管理器示例【基于swing组件】
- swing学习笔记十一(卡片布局管理器CardLayout )
- Java卡片布局管理器解释及实例
- swing学习笔记十一(卡片布局管理器CardLayout )
- Java程序中利用swing.GroupLayout进行布局有关管理器的实例讲解
- 三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- 【Swing基础】布局管理器 - LayoutManager
- 关于SWING的几种布局管理的实例
- Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- JAVA Swing常见的布局管理器
- TableLayout 布局管理器简单实例
- Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- JavaSwing图形界面编程之布局管理器(一)
- Swing的布局管理器
- Swing 布局管理器的嵌套,计算器
- 布局管理器之CardLayout(卡片布局管理器)
- JAVA swing BoxLayout 布局管理器
- CardLayout(卡片布局管理器)
- Java学习笔记-------好友列表的实现------卡片布局 实例