首页 > 编程语言 >【Java AWT 图形界面编程】Frame 窗口中进行自定义布局 ( AWT 中常用的布局容器 )

【Java AWT 图形界面编程】Frame 窗口中进行自定义布局 ( AWT 中常用的布局容器 )

时间:2023-02-04 12:32:32浏览次数:40  
标签:AWT 管理器 自定义 Frame 布局 100 frame Panel


文章目录

  • ​​一、Frame 窗口中进行自定义布局​​
  • ​​二、AWT 中常用的布局容器​​






一、Frame 窗口中进行自定义布局



在 ​​【Java AWT 图形界面编程】LayoutManager 布局管理器总结 ( FlowLayout 布局 | BorderLayout 布局 | BoxLayout 布局 )​​ 介绍了常用的布局 ;

使用布局的好处是 布局内的子组件 可以随着窗口大小的改变 , 而进行 自适应改变 ;

如果要实现复杂界面的布局 , 要求 各种组件精准的进行排序 , 此时就需要 自己来控制组件的绘制 ;



Frame 窗口的默认布局管理器是 BorderLayout 布局管理器 , 如果要自己控制窗口中组件的绘制 , 先取 消该 布局管理器 , 调用

frame.setLayout(null);

代码 , 即可取消该布局管理器 ;



取消布局管理器后 , 每个布局组件的绘制位置以及组件大小 , 都需要自己进行绘制 ;



如 : 在窗口中设置 5 个布局, 分别在 4 个角和 中心位置显示 , 每个布局显示不同的颜色 ;

代码示例 :

import java.awt.*;

public class HelloAWT {
public static void main(String[] args) throws InterruptedException {
// Frame 默认的布局管理器就是 BorderLayout
Frame frame = new Frame("AWT 界面编程");
// 如果想要自己控制布局, 则取消 Frame 窗口的布局管理器
frame.setLayout(null);

// 自动设置 Frame 窗口合适的大小
frame.setBounds(0, 0, 300, 300);

// 设置 5 个布局, 分别在 4 个角和 中心位置显示

// 绘制左上角布局
Panel panel1 = new Panel();
panel1.setBackground(Color.BLUE);
panel1.setBounds(0, 0, 100, 100);
frame.add(panel1);

// 绘制右上角布局
Panel panel2 = new Panel();
panel2.setBackground(Color.RED);
panel2.setBounds(200, 0, 100, 100);
frame.add(panel2);

// 绘制左下角布局
Panel panel3 = new Panel();
panel3.setBackground(Color.BLACK);
panel3.setBounds(0, 200, 100, 100);
frame.add(panel3);

// 绘制右下角布局
Panel panel4 = new Panel();
panel4.setBackground(Color.GREEN);
panel4.setBounds(200, 200, 100, 100);
frame.add(panel4);

// 绘制中间布局
Panel panel5 = new Panel();
panel5.setBackground(Color.MAGENTA);
panel5.setBounds(100, 100, 100, 100);
frame.add(panel5);

frame.setVisible(true);
}
}

运行结果 :

【Java AWT 图形界面编程】Frame 窗口中进行自定义布局 ( AWT 中常用的布局容器 )_AWT






二、AWT 中常用的布局容器



在 AWT 图形界面编程 中 , 最常见的 三种 Container 容器就是 Frame , Dialog , Panel ;

Dialog 是对话框 , 只有使用对话框时 , 才弹出该界面 ;

Frame 和 Panel 是窗口界面的重要组成部分 , Frame 是窗口本体 , 在窗口中如果要进行 多个容器布局 , 就需要使用 Panel 容器 , 设置 Panel 容器的显示位置 , 布局管理器 , 子组件 可以构建一个包含多个组件的布局容器 ;

Frame 窗口中可以添加多个 Panel 容器布局 ;



【Java AWT 图形界面编程】Frame 窗口中进行自定义布局 ( AWT 中常用的布局容器 )_AWT_02


标签:AWT,管理器,自定义,Frame,布局,100,frame,Panel
From: https://blog.51cto.com/u_14202100/6037108

相关文章

  • ESXi 防火墙添加自定义端口/关闭开启防火墙
    ESXi的所有端口都是白名单方式,只允许系统默认支持的一些程序配置好的端口,你可以选择打开和关闭,但是不能在UI界面上自行添加,都是预置的。如果需要添加一个新的自定义端口,需......
  • 自定义注解 (日志注解)
    1.先创建自定义注解类@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public@interfaceLog{Stringvalue()default"";inttype()de......
  • 自定义注解,切面
    1.定义注解FlushRedis@Target(ElementType.METHOD)//注解用来修饰方法@Retention(RetentionPolicy.RUNTIME)//运行时@Documented//文档public@interfaceFlushR......
  • 自定义博客园主题
    cnblogs-theme-silence主题基于cnblogs-theme-silence这个github项目和部署指南CSS样式调整主要修改字体颜色、页面宽度查找text-color:#596172,替换为:text-color:#2......
  • logback日志配置和自定义日志参数
    logback日志配置和自定义日志参数这篇文章记录了一些日志的配置方式和示例基础的,可以直接用的logback配置文件这个配置文件可以直接用,只需要按照自己需要修改日志文件......
  • python-json的自定义编码器与自定义解码器
    json的数据类型有限,在实际业务中可能会遇到数据无法使用JSON编码的问题。如果我们需要转发的数据有大量或位置不规则的json无法解析数据类型时,事先处理就变成了一件比较麻......
  • flutter —— RenderObject 的布局原理
    RenderObject的布局原理①relayoutBoundary重布局边界。该参数用于表示子节点布局变化是否影响父节点,如果为true,当子节点布局发生变化时父节点都会标记为需要重新布局,......
  • KingbaseES 支持自定义异常
    KingbaseESPLSQL从V8R6C4版本开始,支持用户自定义异常。具体例子如下:createorreplaceprocedurep_test()aserror_numberEXCEPTION;xinteger:=1;begin......
  • Apipost如何自定义响应参数?
     Apipost支持在后执行脚本里对响应数据进行二次加工。例如你的响应内容如下:你可以通过在接口的后执行脚本中,通过如下脚本使响应json中的data.time字段转换为格......
  • jenkins访问报错AWT is not properly configured on this server. Perhaps you need t
      貌似是AWT组件中FontConfiguration组件出现一些问题。隐约记得好想OpenJDK的某一个坑。OpenJDK和OracleJDK之间其中一个差别是:OpenJDK对某一些组件类似上面的字体......