java的panel布局_学习面panel和三种布局

本文介绍了Java中的Panel面板及其三种布局方式:流式布局、东西南北中布局和表格布局。通过示例代码展示了如何设置布局并添加组件,帮助读者理解不同布局在实际应用中的效果。
摘要由CSDN通过智能技术生成

1、面板panel

package Java2;

import java.awt.*;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

/**

* 学习面板 Panel

* Panel:可以看做是一个空间,但是不能单独存在

*/

public class demo03 {

public static void main(String[] args) {

Frame frame = new Frame();

Panel panel = new Panel();

//设置布局

frame.setLayout(null);

//坐标

frame.setBounds(300,300,500,500);

frame.setBackground(new Color(50, 133, 21));

//panel设置坐标,相对于frame

panel.setBounds(50,50,400,400);

panel.setBackground(new Color(193,15,50));

//把面板添加到frame里面去

frame.add(panel);

frame.setVisible(true);

//监听事件,监听窗口关闭事件 ,System.exit(0)

//适配器模式

frame.addWindowListener(new WindowAdapter() {

//窗口点击关闭的时候需要做的事情

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以回答你的问题并提供示例代码。 首先,让我们来了解一下CardLayout布局管理器。 CardLayout布局管理器是一种板切换的布局管理器,它可以在同一容器中放置多个板,但只有一个板是可见的。我们可以通过在不同板之间切换来显示不同的内容。 以下是实现上述要求的示例代码: ```java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class CardLayoutDemo implements ActionListener { JPanel cardPanel; // 卡片板 JLabel label1, label2, label3; // 标签 JButton button1, button2, button3; // 按钮 CardLayout cardLayout; // 卡片布局管理器 public CardLayoutDemo() { // 创建标签和按钮 label1 = new JLabel("第一张卡片", JLabel.CENTER); label2 = new JLabel("第二张卡片", JLabel.CENTER); label3 = new JLabel("第三张卡片", JLabel.CENTER); button1 = new JButton("下一张"); button2 = new JButton("下一张"); button3 = new JButton("下一张"); // 添加按钮监听器 button1.addActionListener(this); button2.addActionListener(this); button3.addActionListener(this); // 创建卡片板并设置布局管理器 cardPanel = new JPanel(); cardLayout = new CardLayout(); cardPanel.setLayout(cardLayout); // 添加标签到卡片板 cardPanel.add(label1, "card1"); cardPanel.add(label2, "card2"); cardPanel.add(label3, "card3"); // 添加按钮到主板 JPanel buttonPanel = new JPanel(); buttonPanel.add(button1); buttonPanel.add(button2); buttonPanel.add(button3); // 添加卡片板和按钮板到主板 JFrame frame = new JFrame("CardLayout Demo"); frame.getContentPane().add(cardPanel, BorderLayout.CENTER); frame.getContentPane().add(buttonPanel, BorderLayout.SOUTH); // 设置窗口属性 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 200); frame.setVisible(true); } @Override public void actionPerformed(ActionEvent e) { // 切换到下一张卡片 cardLayout.next(cardPanel); } public static void main(String[] args) { new CardLayoutDemo(); } } ``` 运行此代码将显示一个窗口,其中包含一个标签和三个按钮。初始显示第一张卡片,单击任意按钮将显示下一张卡片。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值