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

    1.实验代码

    packagetest4;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.InputEvent;
    import java.awt.event.KeyEvent;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    
    import javax.swing.*;
    
    public class Notepad implements ActionListener {
          JFrame frame;
          JMenuBar bar;
          JMenu fileMenu,editMenu;
          ImageIcon newIcon,openIcon,saveIcon,closeIcon;
          JMenuItem newItem,openItem,saveItem,closeItem;
          JTextArea jta;
          JScrollPane scroll;
          File file;
          
          public Notepad() {
              frame=new JFrame("记事本");
              bar=new JMenuBar();
              fileMenu=new JMenu("文件");
              editMenu=new JMenu("编辑");
              jta=new JTextArea(); 
              scroll=new JScrollPane(jta,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
              newIcon=new ImageIcon("f:"+File.separator+"tupian"+File.separator+"1.png");
              openIcon=new ImageIcon("f:"+File.separator+"tupian"+File.separator+"2.png");
              saveIcon=new ImageIcon("f:"+File.separator+"tupian"+File.separator+"3.png");
              closeIcon=new ImageIcon("f:"+File.separator+"tupian"+File.separator+"4.png");
              newItem=new JMenuItem("新建(N)",newIcon);
              openItem=new JMenuItem("打开(O)",openIcon);
              saveItem=new JMenuItem("保存(S)",saveIcon);
              closeItem=new JMenuItem("关闭(C)",closeIcon);
              
              newItem.setMnemonic(KeyEvent.VK_N);
              openItem.setMnemonic(KeyEvent.VK_O);
              saveItem.setMnemonic(KeyEvent.VK_S);
              closeItem.setMnemonic(KeyEvent.VK_C);
              
              newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
              openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
              saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
              closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
              
              newItem.addActionListener(this);
              openItem.addActionListener(this);
              saveItem.addActionListener(this);
              closeItem.addActionListener(this);
              bar.add(fileMenu);
              bar.add(editMenu);
              fileMenu.add(newItem);
              fileMenu.add(openItem);
              fileMenu.add(saveItem);
              fileMenu.add(closeItem);        
              frame.add(scroll);
              frame.setJMenuBar(bar);
              frame.setVisible(true);
              frame.setSize(400, 300);
          }
    
        @Override
        public void actionPerformed(ActionEvent event) {
            Object obj=event.getSource();
            if(obj instanceof JMenuItem) {
                JMenuItem item=(JMenuItem)obj;
                if(item==newItem) {
                    new Notepad();
                }else if(item==openItem) {
                    JFileChooser chooser = new JFileChooser();
                    chooser.showOpenDialog(null);
                    file=chooser.getSelectedFile();
                    try {
                        FileInputStream fis = new FileInputStream(file);
                        byte[] b=new byte[fis.available()];
                        fis.read(b);
                        jta.append(new String(b));
                        fis.close();
                    }catch(FileNotFoundException e) {
                        e.printStackTrace();
                    } catch (IOException e) {               
                        e.printStackTrace();
                    }
                }else if(item==saveItem) {
                    JFileChooser chooser = new JFileChooser();
                    chooser.showSaveDialog(null);
                    file=chooser.getSelectedFile();
                    if(!file.exists()) {
                        try {
                            file.createNewFile();
                        }catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }else if(item==closeItem) {
                    System.exit(0);
                }
            }
            
        }
    }

    2.运行截图.

    1.菜单组件

    public void setMnemonic(int mnemonic)

    这个方法可以设置键盘助记字符,不过该方法的使用是依赖Swing组件的菜单分层结构的,也就是说设置了该助记字符的菜单项目必须已经展开了,才能使用(通过和Alt+键结合使用).
    值得注意的是 setMnemonic 并非是JMenuItem的方法,而是来着他的父类AbstractButton的,所以该方法通常是不应用于菜单项的。
    JMenuItem自身有一个方法 public void setAccelerator(KeyStroke keyStroke) 该方法的功能要比上面的那个方法要强大,该方法可以设置菜单项的快捷键,它是不依赖菜单的分层结构的。

     2.带滚动条的文本框
    需注意的有两点:
    1.默认的滚动条,仅在输入的文本超过文本框时才会显示。。没有超过文本框是不会显示的;
    2.设置矩形大小,是在滚动条上设置,而不是在文本框上设置;


                

  • 相关阅读:
    mysql缓存
    复杂映射
    SQL 映射的 XML 文件
    xml配置文件
    从xml中构建sqlSessionFactory
    eclipse使用时jar不在libraries
    去掉不用的工作空间
    javac找不到或无法加载主类 com.sun.tools.javac.Main,
    文本,布局,样式
    (常用)re模块
  • 原文地址:https://www.cnblogs.com/gyyy/p/11920685.html
Copyright © 2011-2022 走看看