import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener; public class CardLayoutTest {
Frame f = new Frame("cardlayout test");
Panel p1 = new Panel();
String[] names = {"上一张","下一张","第一张","最后一张","第三张"}; public void init(){
final var c = new CardLayout();
p1.setLayout(c);
for(var i = ; i < names.length; i++){
p1.add(names[i], new JButton(names[i]));
}
var p = new Panel();
ActionListener listener = e -> {
switch (e.getActionCommand()){
case "上一张":
System.out.println("previous");
c.previous(p1);
break;
case "下一张":
c.next(p1);
System.out.println("next");
break;
case "第一张":
c.first(p1);
System.out.println("first");
break;
case "最后一张":
c.last(p1);
System.out.println("last");
break;
case "第三张":
c.show(p1, "第三张");
System.out.println("third");
break;
}
}; var previous = new JButton("上一张");
previous.addActionListener(listener); var next = new JButton("下一张");
next.addActionListener(listener); var first = new JButton("第一张");
first.addActionListener(listener); var last = new JButton("最后一张");
last.addActionListener(listener); var third = new JButton("第三张");
third.addActionListener(listener); p.add(previous);
p.add(next);
p.add(first);
p.add(last);
p.add(third); f.add(p1);
f.add(p, BorderLayout.NORTH);
f.setLocation(,);
f.setBounds(,,,);
f.pack();
f.setVisible(true); } public static void main(String[] args) {
new CardLayoutTest().init();
} }

output:

learning java AWT 布局管理器CardLayout的更多相关文章

  1. learning java AWT 布局管理器 GridBagLayout

    在GridBagLayout布局管理器中,一个组件可以跨越一个或多个网格,并可以设置各网格的大小互不相关. import java.awt.*; public class GridBagTest { ...

  2. learning java AWT 布局管理器 GridLayout

    GridLayout布局管理器将容器分割成纵横线分格的网格,每个网格所占的区域大小相同. import java.awt.*; public class GridLayoutTest { public ...

  3. learning java AWT 布局管理器FlowLayout

    AWT提供了FlowLayout   从左到右排列所有组件,遇到边界就会折回下一行重新开始. import java.awt.*; public class FlowLayoutTest { publ ...

  4. learning java AWT 布局管理器BorderLayout

    BorderLayout 将容器分为EAST, SOUTH, WEST,NORTH,CENTER五个区域. public class BorderLayoutTest { public static ...

  5. AWT布局管理器

    布局管理器 容器内可以存放各种组件,而组件的位置和大小是由容器内的布局管理器来决定的.在AWT中为我们提供了以下5种布局管理器: ①   FlowLayout 流式布局管理器 ②   BorderLa ...

  6. 5、Java Swing布局管理器(FlowLayout、BorderLayout、CardLayout、BoxLayout、GirdBagLayout 和 GirdLayout)

    5.Java-Swing常用布局管理器       应用布局管理器都属于相对布局,各组件位置可随界面大小而相应改变,不变的只是其相对位置,布局管理器比较难以控制,一般只在界面大小需要改是才用,但即使这 ...

  7. java基础 布局管理器

    概念: 组建在容器(比如JFrame)中的位置和 大小 是由布局管理器来决定的.所有的容器都会使用一个布局管理器,通过它来自动进行组建的布局管理. 种类: java共提供了物种布局管理器:流式布局管理 ...

  8. Java GUI 布局管理器

    容器可设置布局管理器,管理容器中组件的布局: container.setLayout(new XxxLayout()); Java有6种布局管理器,AWT提供了5种: FlowLayout Borde ...

  9. JAVA 网格布局管理器

    //网格布局管理器 import java.awt.*; import javax.swing.*; public class Jiemian3 extends JFrame{ //定义组件 JBut ...

随机推荐

  1. Redis Streams与Spark的完美结合

    来源:Redislabs 作者:Roshan Kumar 翻译:Kevin  (公众号:中间件小哥) 最近,我有幸在 Spark +AI 峰会上发表了题目为“Redis + Structured St ...

  2. vue 项目之后生成的 dist 文件该怎么在本地启动运行

    简单高效 npm i -g servecd distserve

  3. 基于CentOS6.5的Dubbo及Zookeeper配置

    基于CentOS的Dubbo及Zookeeper配置 需要提前准备好的资料: 1.首先配置java环境 步骤: 将jdk的包上传至centos服务器的/opt目录下,并且解压 tar -zxvf jd ...

  4. bean标签解析与注册

    protected void processBeanDefinition(Element ele, BeanDefinitionParserDelegate delegate) { BeanDefin ...

  5. 和我一起,重零开始学习Ant Design Pro开发解决方案(一)安装开发环境

    安装NODEJS 什么是NODEJS? 百度一下吧,这个真不知道,老码农,别笑话我: 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome Jav ...

  6. ubuntu ufw 配置

    ubuntu ufw 配置 Ubuntu 18.04 LTS 系统中已经默认附带了 UFW 工具,如果您的系统中没有安装,可以在「终端」中执行如下命令进行安装: 1 sudo apt install ...

  7. Python小列子-读取照片位置

    Python exifread Python利用exifread库来解析照片的经纬度,对接百度地图API显示拍摄地点. import exifread import re import json im ...

  8. mysql 设置局域网内可访问

    今天同事要连我电脑的数据库   我以为只要127.0.0.1 可以访问就是 运行通过ip访问的... 然而并不是..这里记录下方法 1.打开命令行   进入你电脑的 mysql的bin 目录下 mys ...

  9. arm9的时钟和定时器

    时钟 两种能够提供时钟的方式: 1) 晶振 2) PLL(也就是锁相环):通用PLL需啊一个晶振,和对晶体特定频率分频或倍频的锁相环电路. 学习ARM9时钟的四步: 1) 晶振:12MHZ 2) 有多 ...

  10. 使用tmux管理终端的窗口

    教程参考这里: http://louiszhai.github.io/2017/09/30/tmux/