m0_58486198 2021-06-23 00:48 采纳率: 100%
浏览 59
已采纳

java程序组件及事件处理

 

设计一个窗口,窗口标题为  “姓名+‘的Java窗口’”,该窗口中包括:一个菜单“系统菜单”,一个Label标签,两个按钮Button1和Button2。当选择菜单时,在标签中显示文字:“系统菜单被选择”;点击按钮Button1时,在button2上显示Button1被点击了多少次。

  • 写回答

2条回答 默认 最新

  • i__0o0__ 2021-06-23 01:48
    关注
    package javaForm.Form1;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JPanel;
    
    public class MainWindow extends JFrame{
    	
    	private static final long serialVersionUID = 1L;
    
    	JMenuBar bar;
    	JMenu menu;
    	JLabel label;
    	JButton button1;
    	JButton button2;
    	JPanel panel;
    	
    	public MainWindow(String title) {
    		//组件
    		bar = new JMenuBar();
    		menu = new JMenu("系统菜单");
    		label = new JLabel("label");
    		button1 = new JButton("button1");
    		button2 = new JButton("button2");
    		panel = new JPanel();
    		
    		//组件属性及事件设置
    		menu.addMenuListener(new MenuActionListener(label));
    		button1.addActionListener(new ButtonActionListener(button2));
    		//组件组合至窗口
    		bar.add(menu);
    		
    		panel.add(label);
    		panel.add(button1);
    		panel.add(button2);
    		
    		this.setJMenuBar(bar);
    		this.add(panel);
    		
    		//窗口属性设置
    		this.setTitle(title);
    		this.setLocation(400, 300);
    		this.setSize(500, 300);
    		this.setVisible(true);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
    	
    	public static void main(String[] args) {
    		MainWindow window = new MainWindow("测试的java窗口");
    	}
    
    }
    
    
    package javaForm.Form1;
    
    import javax.swing.JLabel;
    import javax.swing.event.MenuEvent;
    import javax.swing.event.MenuListener;
    
    public class MenuActionListener implements MenuListener {
    
    	private JLabel label;
    	
    	public MenuActionListener(JLabel label) {
    		this.label = label;
    	}
    	
    	@Override
    	public void menuSelected(MenuEvent e) {
    		label.setText("系统菜单被选择");
    		
    	}
    
    	@Override
    	public void menuDeselected(MenuEvent e) {
    		label.setText("label");
    		
    	}
    
    	@Override
    	public void menuCanceled(MenuEvent e) {
    		label.setText("label");
    	}
    
    }
    
    
    package javaForm.Form1;
    
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    
    public class ButtonActionListener implements ActionListener{
    
    	private JButton button2;
    	
    	private int clickCount;
    	
    	public ButtonActionListener(JButton button2) {
    		this.button2 = button2;
    	}
    	
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		clickCount ++;
    		this.button2.setText("" + clickCount);
    		
    	}
    
    }
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 DBIF_REPO_SQL_ERROR
  • ¥15 根据历年月数据,用Stata预测未来六个月汇率
  • ¥15 DevEco studio开发工具 真机联调找不到手机设备
  • ¥15 请教前后端分离的问题
  • ¥100 冷钱包突然失效,急寻解决方案
  • ¥15 下载honeyd时报错 configure: error: you need to instal a more recent version of libdnet
  • ¥15 距离软磁铁一定距离的磁感应强度大小怎么求
  • ¥15 霍尔传感器hmc5883l的xyz轴输出和该点的磁感应强度大小的关系是什么
  • ¥15 vscode开发micropython,import模块出现异常
  • ¥20 Excel数据自动录入表单并提交
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部