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

java程序组件及事件处理

 

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

  • 写回答

2条回答 默认 最新

  • i__0o0__ 2021-06-23 09: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 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分