【Java AWT 图形界面编程】Container 容器 ② ( Frame 窗口示例 | Panel 示例 | 窗口中文乱码处理 )
创始人
2024-05-10 22:31:26
0

文章目录

  • 一、Frame 窗口示例
  • 二、Panel 示例
  • 三、窗口中文乱码处理





一、Frame 窗口示例



首先 , 创建 Frame 实例对象 , 该对象就是 操作系统中应用软件的 窗口 ;

// 1. 创建窗口
Frame frame = new Frame("AWT 图形界面编程");

Frame 是 Window 的子类 ,

public class Frame extends Window implements MenuContainer

Window 是 Container 的子类 ;

public class Window extends Container implements Accessible

然后 , 设置窗口的位置 , 这里调用 Component#setLocation 函数 设置窗口在屏幕中的位置 ;

// 2. 设置窗口位置
frame.setLocation(50, 50);

再后 , 设置窗口大小 , 这里调用 Component#setSize 函数 设置窗口的像素大小 ;

// 3. 设置窗口大小
frame.setSize(800, 500);

最后 , 设置窗口可见 , 窗口默认不可见 , 需要手动设置可见性 ;

// 4. 设置窗口可见
frame.setVisible(true);

完整代码示例 :

import java.awt.*;public class HelloAWT {public static void main(String[] args) {// 1. 创建窗口Frame frame = new Frame("AWT 图形界面编程");// 2. 设置窗口位置frame.setLocation(50, 50);// 3. 设置窗口大小frame.setSize(800, 500);// 4. 设置窗口可见frame.setVisible(true);}
}

执行结果 : 执行后会在屏幕的 ( 100, 100 ) 位置显示该窗口 ;
在这里插入图片描述
注意 : 此时窗口无法关闭 , 需要停止程序运行来关闭窗口 ;





二、Panel 示例



Panel 不能独立存在 , 需要依附于 Window 存在 , 因此这里需要先创建 Frame 窗口 , 然后再向其中添加 Panel ;


完整代码示例 :

import java.awt.*;public class HelloAWT {public static void main(String[] args) {// 创建窗口Frame frame = new Frame("AWT 图形界面编程");// 创建 PanelPanel panel = new Panel();// 创建 文本框TextField textField = new TextField("测试文本框");// 创建 按钮Button button = new Button("测试按钮");// 向 Panel 中添加文本框和按钮panel.add(textField);panel.add(button);// 将 Panel 放到 Frame 中frame.add(panel);// 设置窗口位置frame.setLocation(50, 50);// 设置窗口大小frame.setSize(800, 500);// 设置窗口可见frame.setVisible(true);}
}

执行效果 :
在这里插入图片描述





三、窗口中文乱码处理



在上面的示例中 , 创建的按钮 Button button = new Button("测试按钮"); ,

按钮文本为 " 测试按钮 " , 但是在 窗口中显示时 , 显示的乱码 :

在这里插入图片描述

这是因为 Java 程序代码的编码方式是 UTF-8 格式的编码 ,

而 Windows 系统使用的是 GBK 格式的编码 ;

点击 IntelliJ IDEA 中 执行选项 中的 " Edit Configurations… " 选项 ,

在这里插入图片描述

在 " Run/Debug Configurations " 对话框中 , 点击 " Modify options " 按钮 , 选择 " Add VM options " 选项 ,

在这里插入图片描述

此时界面中会增加一个 VM options 输入框 ,
在这里插入图片描述
在上述 VM options 输入框中 , 输入

-Dfile.encoding=gbk

内容 ,
在这里插入图片描述
应用上述选项 ;

再次执行程序 , 此时界面按钮文本显示正常 ;

在这里插入图片描述

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...