.创建一个窗口程序(JFrame),标题栏起名为“浏览器”,有一个菜单条,有“文件”、“编辑”、“查看”3个菜单。“文件”菜单有两个菜单项,一项是“打开”,一项是“保存”,“打开”项做成子菜单,有两个

本文介绍了一个使用Java Swing创建菜单栏及菜单项的具体实例,包括如何设置快捷键、子菜单以及菜单项的布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import javax.swing.*;  
  
  
public class JFrameTest extends JFrame{  
    JMenuBar menubar;  
    JMenu menu,submenu;  
    JMenuItem item1,item2,item2_1,item3_1,item3_2;  
    public  JFrameTest(){     
    }  
    public JFrameTest(String s,int x,int y,int w,int h){  
        init(s);  
        setLocation(x,y);  
        setSize(w, h);  
        setVisible(true);  
        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);  
          
    }  
  
    void init(String s){  
        setTitle(s);  
        menubar = new JMenuBar();//创建菜单条  
        JMenu menu1 = new JMenu("文件"); //菜单,JMenu创建  
        JMenu menu2 = new JMenu("编辑");  
        JMenu menu3 = new JMenu("查看");  
          
          
        item1 = new JMenuItem("保存"); //菜单项,JMenuItem创建  
        submenu = new JMenu("打开");//将菜单看作是一个菜单项,成为子菜单  
        item2_1 = new JMenuItem("复制");  
        item3_1 = new JMenuItem("停止");  
        item3_2 = new JMenuItem("刷新");  
          
        item1.setAccelerator(KeyStroke.getKeyStroke("A"));  
        item2_1.setAccelerator(KeyStroke.getKeyStroke("C"));  
        item3_1.setAccelerator(KeyStroke.getKeyStroke("P"));  
        item3_2.setAccelerator(KeyStroke.getKeyStroke("E"));  
          
        menu1.add(item1);  
        menu1.addSeparator();  
        menu1.add(submenu);  
        menu2.add(item2_1);  
        menu3.add(item3_1);  
        menu3.add(item3_2);  
        submenu.add(new JMenuItem("打开X"));  
        submenu.add(new JMenuItem("打开Y"));  
        menubar.add(menu1);  
        menubar.add(menu2);  
        menubar.add(menu3);  
        setJMenuBar(menubar);  
    }  
  
  
 public static void main(String args[]){  
     JFrameTest Jt = new JFrameTest("浏览器",100,100,200,200);  
 }  
}  

1. 创建一个基本的JFrame窗口,你可以按照以下步骤操作: ```java import javax.swing.*; import java.awt.*; public class Simple(JFrameExample) { public static void main(String[] args) { // 创建一个新的JFrame实例 JFrame frame = new JFrame("我的简单窗口"); // 设置窗口的基本属性 frame.setSize(400, 300); // 宽度和高度 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭时退出应用 frame.setLocationRelativeTo(null); // 居中显示 // 构建内容面板 JPanel contentPanel = new JPanel(); // 默认布局管理器 contentPanel.setLayout(new FlowLayout()); // 可选布局 // 添加组件到面板 JLabel titleLabel = new JLabel("欢迎来到健康状况查询!"); JButton closeButton = new JButton("关闭"); contentPanel.add(titleLabel); contentPanel.add(closeButton); // 将面板设置为窗口的内容 frame.setContentPane(contentPanel); // 显示窗口 frame.setVisible(true); } } ``` 2.创建一个Swing GUI实现健康状况查询,可以设计一个简单的界面,包括输入框、下拉菜单选择疾病类型以及按钮触发查询。以下是基本代码示例: ```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class HealthCheckGUI extends JFrame { private JTextField symptomInput; private JComboBox<String> diseaseList; private JButton checkButton; public HealthCheckGUI() { // 初始化UI组件 symptomInput = new JTextField(); diseaseList = new JComboBox<>(Arrays.asList("感冒", "咳嗽", "头痛")); checkButton = new JButton("查询"); // 设置组件位置和监听器 checkButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 这里仅作演示,实际应连接到数据库或其他服务查询健康建议 System.out.println("正在查询关于 " + diseaseList.getSelectedItem() + " 的健康状况..."); } }); // 设置窗口和布局 setLayout(new GridBagLayout()); GridBagConstraints gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 0; add(new JLabel("症状:"), gbc); gbc.gridy++; add(symptomInput, gbc); gbc.gridy++; add(new JLabel("疾病类型:"), gbc); gbc.gridy++; add(diseaseList, gbc); gbc.gridy++; add(checkButton, gbc); // 窗口配置 setTitle("健康状况查询"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); pack(); setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(() -> { new HealthCheckGUI(); }); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值