GUI的使用
1.1 GUI是什么
- Graphical User Interface(图形用户接口)
- java提供了一个 java.awt 包,用于创建用户界面和绘制图形图像的所有类。
- 做j2ee方向的一般很少会用这个东西
1.2 GUI的简单使用
- 知识点:
n 窗口,尺寸,位置、关闭、图标、动作监听、鼠标监听、键盘监听
- 代码
package day09frame; import java.awt.*; import java.awt.event.*; public class frameDemo { public static void main(String[] args) { //创建一个窗口并显示 //1.创建窗口对象 Frame window = new Frame("我是一个窗口"); //2.设置窗口的大小 window.setSize(400, 400); //3.设置位置 window.setLocation(807, 274); //4.设置程序图标 window.setIconImage(Toolkit.getDefaultToolkit().createImage("qq.jpg")); //5.监听窗口x 按钮 window.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { //释放资源 //..... //退出程序 System.exit(0); } }); //6.添加按钮 //6.1创建按钮 Button btn1 = new Button("close"); //6.2添加到窗口 window.add(btn1); //6.3再添加按钮 Button btn2 = new Button("mouse"); window.add(btn2); //7.设置组件布局方式[流布局] window.setLayout(new FlowLayout()); //8.监听按钮的点击 btn1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("点击..."); //关闭程序 System.exit(0); } }); //9.监听鼠标的事件 btn2.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub System.out.println("鼠标按下..."); } @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub System.out.println("鼠标松开..."); } }); //10.键盘监听 Button btn3 = new Button("keyboard"); window.add(btn3); btn3.addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { //键盘对应字符 //e.getKeyCode():字符编码表 System.out.println(e.getKeyCode() + ":" + e.getKeyChar()); } }); //显示窗口 window.setVisible(true); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?