Java编程使用卡片布局管理器示例【基于swing组件】
作者:fearlessMore 发布时间:2022-03-03 10:46:33
标签:Java,布局管理器,swing组件
本文实例讲述了Java编程使用卡片布局管理器。分享给大家供大家参考,具体如下:
运行效果:
完整示例代码:
package com.han;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
/**
* 使用卡片布局管理器
* @author HAN
*
*/
public class CardLayout_1 extends JFrame {
/**
*
*/
private static final long serialVersionUID = -5255525755443566487L;
public CardLayout_1() {
// TODO Auto-generated constructor stub
Container container = getContentPane();
final CardLayout cardLayout = new CardLayout();
final JPanel cardPanel = new JPanel(cardLayout);
String[] cardNames = { "卡片A", "卡片B", "卡片C" };
for (int i = 0; i < cardNames.length; i++) {
// JLabel label = new JLabel(cardNames[i]);
JLabel label = new JLabel(cardNames[i], SwingConstants.CENTER);
// cardPanel.add(label);
cardPanel.add(label, cardNames[i]);
}
container.add(cardPanel, BorderLayout.CENTER);
JPanel buttonPanel = new JPanel(); // by default, the flow layout
container.add(buttonPanel, BorderLayout.SOUTH);
String[] buttonNames = { "第一个", "前一个", "卡片A", "卡片B", "卡片C",
"后一个", "最后一个" };
for (int i = 0; i < buttonNames.length; i++) {
final JButton button = new JButton(buttonNames[i]);
buttonPanel.add(button);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String buttonText = button.getText();
if (buttonText.equals("第一个")) {
cardLayout.first(cardPanel);
} else if (buttonText.equals("前一个")) {
cardLayout.previous(cardPanel);
} else if (buttonText.equals("卡片A")) {
cardLayout.show(cardPanel, "卡片A");
} else if (buttonText.equals("卡片B")) {
cardLayout.show(cardPanel, "卡片B");
} else if (buttonText.equals("卡片C")) {
cardLayout.show(cardPanel, "卡片C");
} else if (buttonText.equals("后一个")) {
cardLayout.next(cardPanel);
}else {
cardLayout.last(cardPanel);
}
}
});
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CardLayout_1 frame = new CardLayout_1();
frame.setTitle("www.jb51.net - 使用卡片布局管理器");
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
}
}
希望本文所述对大家java程序设计有所帮助。
来源:http://blog.csdn.net/gaowen_han/article/details/7738643


猜你喜欢
- 编辑Word文档时,我们有时会突然想增加一段新内容;而将word文档给他人浏览时,有些信息我们是不想让他人看到的。那么如何运用C#编程的方式
- 一、简介虚拟函数从C#的程序编译的角度来看,它和其它一般的函数有什么区别呢?一般函数在编译时就静态地编译到了执行文件中,其相对地址在程序运行
- FileStream,顾名思义,文件流。流,是字节流。我的理解是,硬盘上存在一个字节流,内存里也有一个字节流,它们是对应的。程序运行时,我们
- 一、@Value读取application.properties配置文件中的值application.properties配置文件fileN
- using System;using System.Collections.Generic;using System.Net;using S
- 运算符运算符,顾名思义就是用来执行数学运算的。在Java中运算符可以分为:算术运算符、关系运算符、逻辑运算符、位运算符、移位运算符、条件运算
- 还是有一些小问题....懒得改了,但大体思路还是清晰的,首先定义一个运算符栈,一个数栈。关于优先级,两个括号(,)优先级最低,其次是+、-,
- 我们在C#编程中常见的信息提示框(MessageBox)是微软NET自带的一个用于弹出警告、错误或者讯息一类的“模式”对话框。此类对话框一旦
- 组件在容器(比如Jframe)中的位置和大小是由布局管理器来决定的。所有的容器都会使用一个布局管理器,通过它来自动进行组件的布局管理。种类j
- 本文实例讲述了C#实现的xml操作类,分享给大家供大家参考,具体如下:using System;using System.Data;usin
- Android系统对所有的危险权限进行了分组,称为 权限组 。属于同一组的危险权限将自动合并授予,用户授予应用某个权限组的权限,则应用将获得
- 一、定界符成帧Framer接口package framer;import java.io.IOException;import java.i
- 看似很鸡肋其实在某些特殊场景还是比较有用的。比如你将实体类转Map或者拿到一个Map结果的时候,你是怎么获取某个map的key和value。
- 重载1.构造器的重载因为构造器的名字必须与类名相同,所以同一个类的所有构造器名肯定相同,构成重载;为了让系统能区分不同的构造器,多个构造器的
- 时间轴主要使用Recyclerview来实现。开发语言使用Kotlin,代码相对java少了许多也简洁许多源代码下载地址效果图:MainAc
- 你可以认为Fragment作为Activity的一个模块部分,有它自己的生命周期,获取它自己的事件,并且你可以在Activity运行的时候添
- 前言Promoted Actions是指一种操作按钮,它不是放在actionbar中,而是直接在可见的UI布局中(当然这里的UI指的是set
- 这几年都在搞前后端分离、RESTful风格,我们项目中也在这样用。前几天有人遇到了解析JSON格式的请求数据的问题,然后说了一下解析的方式,
- 本文实例讲述了C#实现在购物车系统中生成不重复订单号的方法。分享给大家供大家参考。具体分析如下:订单号在购物过程中起到了很好的识别作用,更方
- 前言需求是上传Excel文件并读取Excel文件中的内容,根据获取的数据执行完某些业务操作后再将一些数据写回到excel中。前台使用Form