javapanel根据内部组件_Java 四种内部类

packagecom.oop.ch14;importjava.awt.BorderLayout;importjava.awt.CardLayout;importjava.awt.Color;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JPanel;/***练习使用卡片布局管理器

*

*将组件元素放置在同一个位置,通过“事件”触发切换。*/

public classCardLayoutTest {static CardLayout cardLayout = newCardLayout();static JPanel jp_images = newJPanel(cardLayout);public static voidmain(String[] args) {

JFrame jFrame= new JFrame("卡片布局管理器");//1、定义需要的组件元素:面板、按钮

JPanel jp_image1,jp_image2,jp_image3;

jp_image1= newJPanel();

jp_image2= newJPanel();

jp_image3= newJPanel();//设置图片面板的背景,模拟在卡片上放置一张图片

jp_image1.setBackground(Color.RED);

jp_image2.setBackground(Color.GREEN);

jp_image3.setBackground(Color.BLUE);//创建放置卡片的面板,同时将卡片布局管理器传入其中//jp_images = new JPanel(cardLayout);//将放置了图片的子面板放置到jp_iamges中

jp_images.add(jp_image1);

jp_images.add(jp_image2);

jp_images.add(jp_image3);//定义jp_button面板放置按钮

JPanel jp_button;

jp_button= newJPanel();//准备两个按钮

JButton jb_pre,jb_next;

jb_pre= new JButton("上一张");

jb_next= new JButton("下一张");//将按钮放置到面板中

jp_button.add(jb_pre,BorderLayout.WEST);

jp_button.add(jb_next,BorderLayout.EAST);//2、将已经包含了组件元素的两个面板放置到窗体中

jFrame.add(jp_images);

jFrame.add(jp_button, BorderLayout.SOUTH);//3、设置JFrame窗体的一些参数//设置在关闭窗体时默认要执行的操作,通常时退出程序本身

jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置窗体起始位置、宽高

jFrame.setBounds(200, 150, 400, 300);//设置窗体可见性

jFrame.setVisible(true);/*** 4、给上一张、下一张两个按钮添加点击事件

* 具体实施时需要通过”匿名内部类“来完成

* “匿名内部类”是一个方法中的一个类

* 但它没有名字,他要实现ActionListener接口,并实现其中的监听方法*/jb_pre.addActionListener(newActionListener() {

@Overridepublic voidactionPerformed(ActionEvent e) {

cardLayout.previous(jp_images);

}

});

jb_next.addActionListener(newActionListener() {

@Overridepublic voidactionPerformed(ActionEvent e) {

cardLayout.next(jp_images);

}

});

}/*//如果实现ActionListener接口可以用实现方法的方式做

@Override

public void actionPerformed(ActionEvent e) {

}*/}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值