题目

使用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. day11-MySql存储结构

    MySql存储结构 参考视频:MySql存储结构 1.表空间 不同的存储引擎在磁盘文件上的结构均不一致,这里以InnoDB为例: CREATE TABLE t(id int(11)) Engine = ...

  2. 重学c#系列—— explicit、implicit与operator[三十四]

    前言 我们都知道operator 可以对我们的操作符进行重写,那么explicit 和 implicit 就是对转换的重写. 正文 explicit 就是强制转换,然后implicit 就是隐式转换. ...

  3. QML 界面切换的几种方法(带示例代码)

    QML 界面切换的几种方法(带示例代码)

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

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

  5. 垃圾回收之三色标记法(Tri-color Marking)

    关于垃圾回收算法,基本就是那么几种:标记-清除.标记-复制.标记-整理.在此基础上可以增加分代(新生代/老年代),每代采取不同的回收算法,以提高整体的分配和回收效率. 无论使用哪种算法,标记总是必要的 ...

  6. 【算法数据结构专题】「延时队列算法」史上手把手教你针对层级时间轮(TimingWheel)实现延时队列的开发实战落地(上)

    承接上文 承接之前的[精华推荐 |[算法数据结构专题]「延时队列算法」史上非常详细分析和介绍如何通过时间轮(TimingWheel)实现延时队列的原理指南],让我们基本上已经知道了「时间轮算法」原理和 ...

  7. mysql 求分组中位数、环比、同比、中位数的环比

    说明 中位数.环比.同比概念请自行百度,本文求  字段A中位数.根据字段B分组后字段A中位数.字段A环比.字段A同比.字段A中位数的环比.字段A中位数的同比. 一.表结构如下图 查询条件为  capi ...

  8. 在Blazor中使用Chart.js

    1. 在Blazor中使用Chart.js 首先,从Chart.js官方网站下载Chart.js库文件. 推荐下载这个构建好的版本https://cdnjs.com/libraries/Chart.j ...

  9. day17:内置方法&math模块&random模块&pickle模块

    内置方法 1.round:四舍五入 正常遵守四舍五入,但在n.5结构中,n为偶数则舍去,n为奇数则进一. res1 = round(4.51) # 5 res2 = round(4.5) # 4 re ...

  10. 干货|工作中要使用Git,看这篇文章就够了

    本文将从 Git 入门到进阶.由浅入深,从常用命令.分支管理.提交规范.vim 基本操作.进阶命令.冲突预防.冲突处理等多方面展开,足以轻松应对工作中遇到的各种疑难杂症,如果觉得有所帮助,还望看官高抬 ...