JMenuBar:菜单条
JMenu:菜单
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
public class ZDSGuideSystemMain extends JFrame
{
private JFrame frame;// 窗体
private JMenuBar mBar;// 菜单
private JPanel panel;// 面板
private JLabel label;// 标签
// 构造函数
public ZDSGuideSystemMain()
{
frame = new JFrame();
panel = new JPanel();
mBar = new JMenuBar();
// 设置菜单栏
this.setTitle("正大学院导游系统");
this.setJMenuBar(mBar);
this.setResizable(false);
// 添加菜单栏
JMenu sMenu, jMenu, gMenu, cMenu, bMenu;
sMenu = new JMenu("系统");
jMenu = new JMenu("简介");
gMenu = new JMenu("工具");
cMenu = new JMenu("查询");
bMenu = new JMenu("帮助");
mBar.add(sMenu);
mBar.add(jMenu);
mBar.add(gMenu);
mBar.add(cMenu);
mBar.add(bMenu);
// 系统添加选项菜单
JMenuItem sItem, cItem, tItem;
sItem = new JMenuItem("开始导航");
cItem = new JMenuItem("刷新系统");
tItem = new JMenuItem("退出系统");
sMenu.add(sItem);
sMenu.addSeparator();
sMenu.add(cItem);
sMenu.addSeparator();
sMenu.add(tItem);
// 简介添加选项菜单
JMenuItem xItem;
xItem = new JMenuItem("学院简介");
jMenu.add(xItem);
// 工具添加选项菜单
JMenuItem xyItem, ycItem;
xyItem = new JMenuItem("显示菜单");
ycItem = new JMenuItem("隐藏菜单");
gMenu.add(xyItem);
gMenu.addSeparator();
gMenu.add(ycItem);
// 查询添加选项菜单
JMenuItem lItem;
lItem = new JMenuItem("路线查询");
cMenu.add(lItem);
// 帮助添加选项菜单
JMenuItem smItem, gyItem;
smItem = new JMenuItem("说明");
gyItem = new JMenuItem("关于");
bMenu.add(smItem);
bMenu.addSeparator();
bMenu.add(gyItem);
// 窗体设置
this.add(panel);
panel.setBackground(Color.green);
this.setBounds(180, 10, 1024, 680);
this.setVisible(true);
mBar.add(label);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}
public static void main(String[] args)
{
new ZDSGuideSystemMain();
}
}
相关文章
- Java 理论和实践: 了解泛型 识别和避免学习使用泛型过程中的陷阱
- java8中的LocalDate,LocalTime,LocalDateTime与Date的转换和使用
- java怎么使用取余符号,Java中的相除(/)和取余(%)的实现方法
- 关于java中位运算符的使用和理解
- PySpark安装及WordCount实现(基于Ubuntu)-安装Java: PySpark需要Java运行环境。你可以使用以下命令安装OpenJDK: sudo apt update sudo apt install default-jre default-jdk 安装Scala: PySpark还需要Scala,可以使用以下命令安装: sudo apt install scala 安装Python: 如果你的系统没有Python,可以安装Python 3: sudo apt install python3 安装Apache Spark: 下载并解压Apache Spark。你可以在Apache Spark官网下载最新版本的Spark。 wget https://downloads.apache.org/spark/spark-x.y.z/spark-x.y.z-bin-hadoopx.y.tgz tar -xzvf spark-x.y.z-bin-hadoopx.y.tgz 将 spark-x.y.z-bin-hadoopx.y替换为你下载的实际版本。 设置环境变量: 在 .bashrc或 .zshrc文件中设置Spark和PySpark的环境变量: export SPARK_HOME=/path/to/spark-x.y.z-bin-hadoopx.y export PATH=$PATH:$SPARK_HOME/bin export PYSPARK_PYTHON=python3 记得使用实际的Spark路径。 安装PySpark: 使用pip安装PySpark: pip install pyspark 实现WordCount:
- Java 中 ArrayList 和 LinkedList 的区别及使用场景
- Java8中flatMap使用以及和map的区别
- 在Java中,需要每120分钟刷新一次的`assetoken`,并且你想使用Redis作为缓存来存储和管理这个令牌
- RabbitMQ 优点和缺点- 消息可靠性:RabbitMQ 提供了持久化功能和消息确认机制,确保消息在各种情况下都能可靠地存储和处理。 灵活的路由:通过多种交换机类型和绑定规则,RabbitMQ 能够灵活地路由消息到指定的队列。 支持多种消息协议:实现了 AMQP 等(MQTT、STOMP)标准化、开放的消息队列协议,使其能够与多种语言编写的应用程序进行通信。 插件化扩展:RabbitMQ 提供了丰富的插件系统,可以通过插件扩展功能,如死信队列、压缩、追踪等。 高可用性:支持集群模式和镜像队列,确保服务的可用性 易用性和可管理性:提供了丰富的 API 和管理工具,以及多种客户端库和框架支持,易于集成和使用。 多语言支持:RabbitMQ 支持多种编程语言的客户端,包括 Java、Python、Ruby、C#、Node.js 等,方便开发人员集成到各种应用中。 高性能:在处理大量并发消息时表现出色。 广泛的社区支持:拥有庞大的开发者社区和丰富的文档资源。 劣势: 性能和吞吐量较低:相比于 Apache Kafka 等面向大数据流处理的消息队列系统,RabbitMQ 的吞吐量较低,不适合处理海量的实时数据流。RabbitMQ 的设计更注重消息的可靠性和灵活性,而非极高的吞吐性能。
- Redis --- redis事务和分布式事务锁-事务过程中失败有两种可能: Redis 命令只会因为错误的语法而失败(并且这些问题不能在入队时发现),或是命令中用在了错误类型的键上面,所以如果在生产环境中你使用的正常命令,那么在 Redis 事务中,是不会出现错误而导致回滚的。 来自文档:Redis commands can fail only if called with a wrong syntax... 事务执行一半,Redis宕机。如果 Redis 服务器因为某些原因被管理员杀死,或者遇上某种硬件故障,那么可能只有部分事务命令会被成功写入到磁盘中。如果 Redis 在重新启动时发现 AOF 文件出了这样的问题,那么它会退出,并汇报一个错误。使用redis-check-aof程序可以修复这一问题:它会移除 AOF 文件中不完整事务的信息,确保服务器可以顺利启动 注意: 若在事务队列中存在命令性错误(类似于java编译性错误),则执行EXEC命令时,所有命令都不会执行 若在事务队列中存在语法性错误(类似于java的1/0的运行时异常),则执行EXEC命令时,其他正确命令会被执行,错误命令抛出异常。 Redis 官网也解释了自己为啥不支持回滚。简单来说就是 Redis 开发者们觉得没必要支持回滚,这样更简单便捷并且性能更好(回滚还需要解决回滚事务覆盖的问题)。Redis 开发者觉得即使命令执行错误也应该在开发过程中就被发现而不是生产过程中。