题目

使用Swing实现一个窗口程序,窗口包括一个菜单栏,请按以下要求实现相应功能。

(1)窗口标题为“GUI程序”,大小为400X300, 居中显示:窗口上有一个面板,面板背景色为灰色;

(2)面板上有一个标签,内容为“河南城建学院”,字体为“隶书”,字号“20”:菜单栏上有两个菜单“字体”和“退出”, 菜单“字体”中有菜单项“宋体”和“楷体”, 菜单“退出”中有菜单项“关闭”;

(3)当点击菜单项“宋体”时,标签内容“河南城建学院”显示宋体样式:点击菜单项“楷体”时,标签内容“河南城建学院”显示楷体样式;点击菜单项“关闭”时,退出应用程序。

欢迎关注微信公众号:万猫学社,每周一分享Java技术干货。

参考答案

  1. package onemore.study;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. public class GuiDemo {
  7. public static void main(String[] args) {
  8. // 创建 "GUI程序" 窗口
  9. JFrame frame = new JFrame("GUI程序");
  10. // 设置窗口大小
  11. frame.setSize(400, 300);
  12. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  13. // 创建面板
  14. JPanel panel = new JPanel();
  15. // 设置面板背景色为灰色
  16. panel.setBackground(Color.GRAY);
  17. // 创建 "河南城建学院" 标签
  18. JLabel label = new JLabel("河南城建学院", JLabel.CENTER);
  19. // 设置字体为隶书,字号为20
  20. label.setFont(new Font("隶书", Font.PLAIN, 20));
  21. panel.add(label);
  22. frame.getContentPane().add(panel);
  23. JMenuBar menuBar = new JMenuBar();
  24. frame.setJMenuBar(menuBar);
  25. // 创建 "字体" 菜单
  26. JMenu menuFont = new JMenu("字体");
  27. menuBar.add(menuFont);
  28. // 创建 "退出" 菜单
  29. JMenu menuExit = new JMenu("退出");
  30. menuBar.add(menuExit);
  31. // 创建 "宋体" 菜单项
  32. JMenuItem song = new JMenuItem("宋体");
  33. menuFont.add(song);
  34. // 创建 "楷体" 菜单项
  35. JMenuItem kai = new JMenuItem("楷体");
  36. menuFont.add(kai);
  37. // 创建 "关闭" 菜单项
  38. JMenuItem close = new JMenuItem("关闭");
  39. menuExit.add(close);
  40. //处理 "宋体" 菜单项的动作事件
  41. song.addActionListener(new ActionListener() {
  42. @Override
  43. public void actionPerformed(ActionEvent e) {
  44. label.setFont(new Font("宋体", Font.PLAIN, 20));
  45. }
  46. });
  47. //处理 "楷体" 菜单项的动作事件
  48. kai.addActionListener(new ActionListener() {
  49. @Override
  50. public void actionPerformed(ActionEvent e) {
  51. label.setFont(new Font("楷体", Font.PLAIN, 20));
  52. }
  53. });
  54. //处理 "关闭" 菜单项的动作事件
  55. close.addActionListener(new ActionListener() {
  56. @Override
  57. public void actionPerformed(ActionEvent e) {
  58. frame.dispose();
  59. }
  60. });
  61. // 设置界面可见
  62. frame.setVisible(true);
  63. }
  64. }

运行效果:

微信公众号:万猫学社

微信扫描二维码

获得更多Java技术干货

Java笔试真题及参考答案的更多相关文章

  1. Java面试中笔试题——Java代码真题,这些题会做,笔试完全可拿下!

    大家好,我是上海尚学堂Java培训老师,以下这些Java笔试真题是上海尚学堂Java学员在找工作中笔试遇到的真题.现在分享出来,也写了参考答案,供大家学习借鉴.想要更多学习资料和视频请留言联系或者上海 ...

  2. 秋招如何抱佛脚?2022最新大厂Java面试真题合集(附答案

    2022秋招眼看着就要来了,但是离谱的是,很多同学最近才想起来还有秋招这回事,所以纷纷临时抱佛脚,问我有没有什么快速磨枪的方法, 我的回答是:有! 说起来,临阵磨枪没有比背八股文更靠谱的了,很多人对这 ...

  3. 蓝桥杯java历年真题及答案整理1~20.md

    蓝桥杯java历年真题及答案整理(闭关一个月,呕心沥血整理出来的) 1 算法是这样的,如果给定N个不同字符,将这N个字符全排列,最终的结果将会是N!种.如:给定 A.B.C三个不同的字符,则结果为:A ...

  4. 分享13道上海尚学堂拿回来的Java面试真题,这些都是Java核心常见问题,想拿OFFER必看!

    上海尚学堂Java培训学员参加面试带回来的真题,分享出来与大家,希望大家能认真地看看做一遍.后面有详细题解答案,对照下,看看自己做得怎么样,把这些面试遇到的真题全部掌握,做好面试笔试前的准备. 一.1 ...

  5. 《PHP程序员面试笔试真题解析》——新书上线

    你好,是我--琉忆.很高兴可以跟你分享我的新书. 很高兴,在出版了PHP程序员面试笔试宝典后迎来了我的第二本书出版--<PHP程序员面试笔试真题解析>. 如果你是一个热爱PHP的程序员,刚 ...

  6. 美团点评2017校招笔试真题-算法工程师A

    美团点评2017校招笔试真题-算法工程师A 1.下面哪种STL容器的实现和其它三个不一样 A. set B. deque C. multimap D. map 正确答案: B STL的容器可以分为以下 ...

  7. 美团点评2017校招笔试真题-算法工程师B

    美团点评2017校招笔试真题-算法工程师B 1.以下关于经典的k-means聚类的说法哪个是错误的? A:k-means聚类算法是全局收敛的 B:k-means的聚类结果和初始聚类中心点的选取有关 C ...

  8. 应聘Java笔试时可能出现问题及其答案

    有感:应聘Java笔试时可能出现问题及其答案 huij 前段时间因为要参加一个笔试,在准备期间在网上找到了两条关于笔试题目的文章,其中一篇为<<有感:应聘Java笔试时可能出现问题> ...

  9. 《PHP面试笔试真题库》——PHP面试的好帮手

    你好,是我琉忆. 一个文艺的PHP开发工程师. 很荣幸能够在这里带来我的第一本新书--<PHP程序员面试笔试真题库>. 一.创作过程 <PHP 程序员面试笔试真题库>是我的第三 ...

  10. 网易实习笔试真题C/C++

    刚做的时候根本就没有想到解题思路,刚好看到了别人的思路,自己写了一下.里面对unordered_map及vector二维数组的建立很灵活,另外区别了一下map,unordered_map,hash_m ...

随机推荐

  1. ChatGPT对于滤除微多普勒运动目标的解决方案

    上一篇体验了一把GPT的真香定律,赶紧又问了一些同事问的如何滤除微多普勒目标的问题.感觉还可以,后面可以试试看,具体大家可以一起看看这个回答,还是有一些可以采纳的意见(文章内容为GPT回答的内容,可能 ...

  2. 声网 X 远程超声:实时音视频解决基层“看病难” 推动医疗资源均衡化

    实时互联网像触角一样,通过情景的共享延伸开来,链接着我们彼此的线下.线上生活,形成一张不可分割的网络.随着社交直播.在线教育.视频会议成为大众生活不可或缺的一部分的同时,智能手表.智能作业灯.视频双录 ...

  3. flutter ui---->一些类QQ的实现

    整理一下比较有意思的类QQ的UI实现.Nothing that has meaning is easy. Easy doesn't enter into grown-up life. darken t ...

  4. 器学习算法(六)基于天气数据集的XGBoost分类预测

    1.机器学习算法(六)基于天气数据集的XGBoost分类预测 1.1 XGBoost的介绍与应用 XGBoost是2016年由华盛顿大学陈天奇老师带领开发的一个可扩展机器学习系统.严格意义上讲XGBo ...

  5. 势如破竹的雷霆两招,微服务进阶Serverless

    ​在应用开发中,服务器的开发一直是最重要的部分之一.在服务器开发不断演进过程中,我们可以将它简单分为5个阶段: 物理机阶段->虚拟机阶段->云计算阶段->容器阶段->当前的Se ...

  6. cephadm 安装部署 ceph 集群

    介绍 手册: https://access.redhat.com/documentation/zh-cn/red_hat_ceph_storage/5/html/architecture_guide/ ...

  7. MINIO搭建单机以及集群

    MINIO简介 Minio是Apache License v2.0下发布的对象存储服务器.它与Amazon S3云存储服务兼容.它最适合存储非结构化数据,如照片,视频,日志文件,备份和容器/VM映像. ...

  8. 多进程和多线程,Thread模块 GIL全局解释锁, 进程池与线程池,协程

    1.多进程实现TCP服务端并发: import socket from multiprocessing import Process def get_server(): server = socket ...

  9. AQS源码学习

    抽象队列同步器AQS AQS介绍 AQS提供一套框架用于实现锁同步机制,其通过一个 FIFO队列 维护线程的同步状态,实现类只需要继承 AbstractQueuedSynchronizer ,并重写指 ...

  10. RCE-Tricks

    这篇文章介绍RCE的一些tricks 0x01 无回显的RCE 在ctf中,有时会遇到无回显rce,就是说虽然可以进行命令执行,但却看不到命令执行的结果,也不知道命令是否被执行,借着这次总结rce的机 ...