题目

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

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

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

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

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

参考答案

package onemore.study;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; public class GuiDemo {
public static void main(String[] args) {
// 创建 "GUI程序" 窗口
JFrame frame = new JFrame("GUI程序");
// 设置窗口大小
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 创建面板
JPanel panel = new JPanel();
// 设置面板背景色为灰色
panel.setBackground(Color.GRAY);
// 创建 "河南城建学院" 标签
JLabel label = new JLabel("河南城建学院", JLabel.CENTER);
// 设置字体为隶书,字号为20
label.setFont(new Font("隶书", Font.PLAIN, 20));
panel.add(label);
frame.getContentPane().add(panel); JMenuBar menuBar = new JMenuBar();
frame.setJMenuBar(menuBar);
// 创建 "字体" 菜单
JMenu menuFont = new JMenu("字体");
menuBar.add(menuFont);
// 创建 "退出" 菜单
JMenu menuExit = new JMenu("退出");
menuBar.add(menuExit);
// 创建 "宋体" 菜单项
JMenuItem song = new JMenuItem("宋体");
menuFont.add(song);
// 创建 "楷体" 菜单项
JMenuItem kai = new JMenuItem("楷体");
menuFont.add(kai);
// 创建 "关闭" 菜单项
JMenuItem close = new JMenuItem("关闭");
menuExit.add(close); //处理 "宋体" 菜单项的动作事件
song.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
label.setFont(new Font("宋体", Font.PLAIN, 20));
}
}); //处理 "楷体" 菜单项的动作事件
kai.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
label.setFont(new Font("楷体", Font.PLAIN, 20));
}
}); //处理 "关闭" 菜单项的动作事件
close.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.dispose();
}
}); // 设置界面可见
frame.setVisible(true);
}
}

运行效果:

微信公众号:万猫学社

微信扫描二维码

获得更多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. 人脸关键点的应用场景及重难点解析丨Dev for Dev 专栏

    本文为「Dev for Dev 专栏」系列内容,作者为声网视频组 AI 算法工程师 周世付. 人脸检测.人脸关键点检测,是计算机视觉的基础算法.许多酷炫应用背后,例如美颜.贴纸.人脸驱动 avatar ...

  2. 【读书笔记】Nice Families Of GF

    目录 Nice Families Of GF rational rational algebraic D-finite总览 下定义 逻辑关系 例子 更多的例子和判别法 运算是否有性质? 运算是否有性质 ...

  3. Net DB Web多级缓存的实现

    1.客户端缓存(浏览器缓存) HTTP有一套控制缓存的协议-RFC7234,其中最重要的就是cache-control这个相应报文头,服务器返回时,如果Response带上 cache-control ...

  4. Java面试——Redis

    一.Redis 为什么那么快 [1]完全基于内存,绝大部分请求是纯粹的内存操作,非常快速.数据存在内存中.[2]数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的.[3]采用单线程 ...

  5. 小编亲身实操,教你配置phpstorm与xdebug的调试配置,不成功你骂我

    开发php,还是找个专业的Ide较好,vscode毕竟在php上不专业,需要下载各种插件才行,还不支持多线程调试,因此小编下载了phpstorm,打算以后用phpstorm来开发php项目,断点调试代 ...

  6. 从pcap文件中提取pcma音频

    操作系统 :Windows10_x64 .CentOS 7.6.1810_x64 wireshark版本:3.6.12 Python 版本  :  3.9.12 一.背景描述 工作中有时候会遇到需要从 ...

  7. C#/VB.NET:如何将PDF转为PDF/A

    PDF/A是一种ISO标准的PDF文件格式版本,是为长期保存文件而设计的.它提供了一种工具,使电子文件在长时间之后依然以一种保留其外观的方式重现,而不管该文件是用什么工具和系统创建.储存或制作的.这种 ...

  8. Conda in Windows under MSYS2 and Zsh 的问题解决

    Conda in Windows under MSYS2 and Zsh 的问题解决 在Window11上使用git bash 安装zsh,并配置p10k主题,主要问题就是prompt中无法显示con ...

  9. react抽离配置文件、配置@符号、调整src文件夹---配置scss、编写项目的页面结构、创建各个页面 src/views、开始路由、入口文件处修改代码、修改App.js布局文件、添加底部的导航布局、构建个人中心。。。声明式跳转路由、使用React UI库请求渲染首页数据、

    1.回顾 2.react项目的配置 react默认创建的项目配置文件在 node_modules/react-scripts 文件夹内部 2.1 抽离配置文件 cnpm run eject cnpm ...

  10. Django笔记十二之defer、only指定返回字段

    本篇笔记为Django笔记系列之十二,首发于公号[Django笔记] 本篇笔记将介绍查询中的 defer 和 only 两个函数的用法,笔记目录如下: defer only 1.defer defer ...