zoukankan      html  css  js  c++  java
  • 第十三周课程总结

    话不多说,上代码!!!

    一:单选按钮

    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);
    			}
    			}
    	}
    }
    

    课后总结

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


  • 相关阅读:
    Day 20 初识面向对象
    Day 16 常用模块
    Day 15 正则表达式 re模块
    D14 模块 导入模块 开发目录规范
    Day 13 迭代器,生成器,内置函数
    Day 12 递归,二分算法,推导式,匿名函数
    Day 11 闭包函数.装饰器
    D10 函数(二) 嵌套,命名空间作用域
    D09 函数(一) 返回值,参数
    Day 07 Day08 字符编码与文件处理
  • 原文地址:https://www.cnblogs.com/chenxinxin/p/11911864.html
Copyright © 2011-2022 走看看