• 第十三周课程总结


    话不多说,上代码!!!

    一:单选按钮

    package 单选钮;
    import java.awt.*;
    import java.awt.event.ItemEvent;
    import java.awt.event.ItemListener;
    
    import javax.swing.*;
    public class demo01 implements ItemListener {
          JFrame frame;
          JRadioButton but1,but2,but3,but4,but5;
          JPanel pan1;
          ButtonGroup group1,group2;
          public demo01() {
        	  frame=new JFrame();
        	  pan1=new JPanel();
        	  
        	  but1=new JRadioButton("新浪");
        	  but2=new JRadioButton("百度");
        	  but3=new JRadioButton("谷歌");
        	  but4=new JRadioButton("男");
        	  but5=new JRadioButton("女");
        	  group1=new ButtonGroup();
        	  group2=new ButtonGroup();
        	  but1.addItemListener(this);
        	  but2.addItemListener(this);
        	  but3.addItemListener(this);
        	  but4.addItemListener(this);
        	  but5.addItemListener(this);
        	  group1.add(but1);
        	  group1.add(but2);
        	  group1.add(but3);
        	  group2.add(but4);
        	  group2.add(but5);
        	  pan1.add(but1);
        	  pan1.add(but2);
        	  pan1.add(but3);
        	  pan1.add(but4);
        	  pan1.add(but5);
        	  frame.add(pan1);
        	  frame.setVisible(true);
        	  frame.pack();
        	  
          }
    	@Override
    	public void itemStateChanged(ItemEvent event) {
    		if(event.getSource()==but1) {
    			if(event.getStateChange()==event.SELECTED) {
    				JOptionPane.showMessageDialog(null, "您选择的是"+but1.getText());
    			}
    		}else if(event.getSource()==but2) {
    			if(event.getStateChange()==event.SELECTED) {
    				JOptionPane.showMessageDialog(null, "您选择的是"+but2.getText());
    			}
    	}
    		else if(event.getSource()==but3) {
    			if(event.getStateChange()==event.SELECTED) {
    				JOptionPane.showMessageDialog(null, "您选择的是"+but3.getText());
    			}
    		}
    		else if(event.getSource()==but4) {
    			if(event.getStateChange()==event.SELECTED) {
    				JOptionPane.showMessageDialog(null, "您选择的是"+but4.getText());
    			}
    	}
    		else if(event.getSource()==but5) {
    			if(event.getStateChange()==event.SELECTED) {
    				JOptionPane.showMessageDialog(null, "您选择的是"+but5.getText());
    			}
    		}
    }
    }
    

    二:键盘监听器

    import java.awt.*;
    import java.awt.event.KeyAdapter;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    
    import javax.swing.*;
    public class demo02  {
          private JTextArea text=new JTextArea();
          JFrame frame=new JFrame("welcome to this");
          public demo02() {
        	 
        	  JScrollPane scr=new JScrollPane(text);
        	  scr.setBounds(5,5,300,200);
        	  frame.add(scr);
        	  text.addKeyListener(new KeyAdapter() {
        		  public void keyReleased(KeyEvent e) {
        				text.append("键盘“"+KeyEvent.getKeyText(e.getKeyCode())+"”键松下
    ");
        			}
        	  });
        	  frame.setSize(300,200);
        	  frame.setVisible(true);
        	  
          }
    	
    	}
    

    三:鼠标按钮监听器

    package 单选钮;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    public class demo extends JFrame {
        private JTextArea text=new JTextArea();
        public demo() {
        	super.setTitle("welcome to this");
        	JScrollPane scr =new JScrollPane(text);
        	scr.setBounds(5,5,300,200);
        	super.add(scr);
        	text.addMouseListener(new MouseAdapter() {
        		public void mouseClicked(MouseEvent e) {
        			int c=e.getButton();
        			String mouseInfo=null;
        			if(c==MouseEvent.BUTTON1){
        				mouseInfo="左键";
        			}else if(c==MouseEvent.BUTTON3) {
        			    mouseInfo="右键";
        			}else {
        				mouseInfo="滚轴";
        			}
                     
        		    text.append("鼠标单击:"+mouseInfo+".
    ");
        		}
        	});
        	super.setSize(300,200);
        	super.setVisible(true);
        }  
    }
    

    四:菜单栏,菜单,选项的添加与功能的实现

    package 单选钮;
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyEvent;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class demo03 implements ActionListener {
             JFrame frame;
             JMenuBar bar;
             JMenu fileMenu,editMenu,formatMenu,searchMenu,helpMenu;
             JMenuItem newItem,openItem,saveItem,closeItem;
             JScrollPane scroll;
             JTextArea area;
             JFileChooser chooser;
             File file;
         public demo03() {
        	 frame=new JFrame("记事本");
        	 bar=new JMenuBar();
        	 fileMenu=new JMenu("文件");
        	 editMenu=new JMenu("编辑");
        	 formatMenu=new JMenu("格式");
        	 searchMenu=new JMenu("查找");
        	 helpMenu=new JMenu("帮助");
        	 newItem=new JMenuItem("新建(N)");
        	 openItem=new JMenuItem("打开(O)");
        	 saveItem=new JMenuItem("另存为(A)");
        	 closeItem=new JMenuItem("关闭(X)");
        	 area=new JTextArea();
        	 scroll=new JScrollPane(area);
        	 newItem.addActionListener(this);
        	 openItem.addActionListener(this);
        	 saveItem.addActionListener(this);
        	 closeItem.addActionListener(this);
        	 fileMenu.add(newItem);
        	 fileMenu.addSeparator();
        	 fileMenu.add(openItem);
        	 fileMenu.addSeparator();
        	 fileMenu.add(saveItem);
        	 fileMenu.addSeparator();
        	 fileMenu.add(closeItem);
        	
        	 
        	 newItem.setMnemonic(KeyEvent.VK_N);
        	 newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,java.awt.Event.CTRL_MASK));
        	 
        	 openItem.setMnemonic(KeyEvent.VK_O);
        	 openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,java.awt.Event.CTRL_MASK));
        	 
        	 saveItem.setMnemonic(KeyEvent.VK_A);
        	 saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,java.awt.Event.CTRL_MASK));
        	 
        	 closeItem.setMnemonic(KeyEvent.VK_X);
        	 closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,java.awt.Event.CTRL_MASK));
        	 frame.setJMenuBar(bar);
        	 frame.add(scroll);
        	 frame.setSize(400,300);
        	 frame.setVisible(true);
        	 bar.add(fileMenu);
        	 bar.add(editMenu);
        	 bar.add(formatMenu);
        	 bar.add(searchMenu);
        	 bar.add(helpMenu);
         }
    	@Override
    	public void actionPerformed(ActionEvent event) {
    		Object obj=event.getSource();
    		if(obj instanceof JMenuItem) {
    			JMenuItem item=(JMenuItem)obj;
    			if(item==newItem)
    			{
    				new demo03();
    			}else if(item==openItem) {
    				chooser=new JFileChooser();
    				chooser.showOpenDialog(null);
    				file=chooser.getSelectedFile();
    				try {
    					FileInputStream fis=new FileInputStream(file);
    					try {
    						byte[] b=new byte[fis.available()];
    						fis.read(b);
    						area.append(new String(b));
    						fis.close();
    					} catch (IOException e) {
    						e.printStackTrace();
    					}
    				} catch (FileNotFoundException e) {
    					e.printStackTrace();
    				}
    			}else if(item==saveItem) {
    				chooser=new JFileChooser();
    				chooser.showOpenDialog(null);
    				file=chooser.getSelectedFile();
    					try {
    						if(!file.exists()) {
    						file.createNewFile();
    						}
    						FileOutputStream fos=new FileOutputStream(file);
    						byte[] b=area.getText().getBytes();
    						fos.write(b);
    						fos.close();
    					} catch (IOException e) {
    						e.printStackTrace();
    					}				
    			}else if(item==closeItem)
    			{
    				System.exit(1);
    			}
    			}
    	}
    }
    

    课后总结

    一:对于鼠标与键盘的监听让我思考游戏的开发的方向的移动利用键盘监听,在鼠标监听中去添加事件的选项,实现其功能。
    二:对于菜单栏,菜单,选项栏中可以做一些简单的记事本等都是可以的。
    三:对于这些代码都是需要深刻理解,借助老师的代码先让它实现一部分功能,后续的其他功能及美化都是需要自己摸索的,先让老师的代码做个模范作用。


  • 相关阅读:
    adb检测不到夜神模拟器
    夜神模拟器相关设置
    dos窗口下查看系统环境变量设置,输出dos命令结果到文件
    JavaScript DOM操作案例列表的高亮显示
    JavaScript DOM操作案例美女相册
    JavaScript DOM操作案例阻止超链接跳转
    JavaScript DOM操作案例点击按钮修改ul背景颜色
    Git 状态 untracked 和 not staged的区别
    GitPython模块简介
    解决error: failed to push some refs to 'xxxx'
  • 原文地址:https://www.cnblogs.com/chenxinxin/p/11911864.html
Copyright © 2020-2023  润新知