• 第十三周实验报告


    提目:写一个记事本

    实验代码:

    package Rectangle;
    
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyEvent;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.io.File;
    
    import static javax.swing.KeyStroke.*;
    
    public class TextPad {
             JFrame frame;
             JMenuBar bar;
             JMenu fileMenu,editMenu;
             JMenuItem newItem,openItem,saveItem,closeItem;
             ImageIcon newIcon,openIcon,saveIcon,closeIcon;
             JScrollPane scroll;
             JTextArea area;
             JFileChooser chooser;
             File file;
    
    
             public TextPad(){
                 frame =new JFrame("记事本");
                 bar =new JMenuBar();
                 fileMenu =new JMenu("文件");
                 editMenu =new JMenu("编辑");
                 newIcon=new ImageIcon("d:"+File.separator+"Test"+File.separator+"A.png");
                 openIcon=new ImageIcon("d:"+File.separator+"Test"+File.separator+"B.png");
                 saveIcon=new ImageIcon("d:"+File.separator+"Test"+File.separator+"C.png");
                 closeIcon=new ImageIcon("d:"+File.separator+"Test"+File.separator+"D.png");
                 newItem=new JMenuItem("新建(N)",newIcon);
                 openItem=new JMenuItem("打开(O)",openIcon);
                 saveItem=new JMenuItem("另存为(A)",saveIcon);
                 closeItem=new JMenuItem("关闭(X)",closeIcon);
                 area =new JTextArea();
                 scroll=new JScrollPane(area);
    
                 newItem.setMnemonic(KeyEvent.VK_N);
                 openItem.setMnemonic(KeyEvent.VK_O);
                 saveItem.setMnemonic(KeyEvent.VK_A);
                 closeItem.setMnemonic(KeyEvent.VK_X);
    
                 newItem.setAccelerator(KeyStroke.getKeyStroke((char) KeyEvent.CTRL_MASK));
    
                 fileMenu.add(newItem);
                 fileMenu.add(openItem);
                 fileMenu.add(saveItem);
                 fileMenu.addSeparator();
                 fileMenu.add(closeItem);
    
    
                 bar.add(fileMenu);
                 bar.add(editMenu);
    
                 frame.addWindowListener(new WindowAdapter() {
                   public void windowClosing(WindowEvent arg0){
                       System.exit(1);
                   }});
                  frame.setJMenuBar(bar);
                  frame.add(scroll);
                  frame.setVisible(true);
                  frame.setSize(300,180);
                  frame.setLocation(300,200);
             }
    }
    

    结果截图

    实验总结

    这个记事本在老师上课的时候讲了很多,但是速度很快,前面的还能听懂,到了后面,有些知识忘记了,所以我也只能写出个
    比较简易的记事本出来,还有很多功能需要后续完善。

    课程总结

    单选钮JRadioButton

    单选钮就是在给出的多个显示信息中指定选择一个

    ItemListener接口的方法

    ItemEvent类的常用方法及常量

    复选框JCheckBox

    可以选多个

    菜单组件

    当一个界面中出现许多按钮的时候,可以利用菜单进行统一的布局管理,可以使得
    界面功能更加丰富。

    1.JMenu和JMenuBar

    实现菜单组件要使用Jmenu。而JMenuBar组件的功能是用来摆放JMenu组件,当建立了
    多个JMenu组件之后,需要通过JMenuBar组件将JMenu组件加入到窗口。

    2.JMenultem

    此组件的功能是为菜单中加入菜单项。

    3.文本选择框JFileChooser

    可以使用他来选择要打开或保存的文件。

    自我总结:

    这周三老师讲了一个记事本,我的天啊,综合性好强,前面那些还听得懂,到了后面
    为那些组件增加功能的时候我懵逼了,这充分反应了我的知识并没有掌握牢固,好比一根
    链条,有些地方断了,真的很难衔接,我要把链条焊好,不说了,开火。

  • 相关阅读:
    HTML5学习笔记简明版(1):HTML5介绍与语法
    用margin还是用padding(1)——W3School CSS外边距合并
    Minimum Depth of Binary Tree
    118. Pascal's Triangle
    Convert Sorted Array to Binary Search Tree
    112. Path Sum
    Balanced Binary Tree
    centos 7下nginx搭建流媒体服务器【动态添加模块】
    Java内存泄漏
    Quartz的job中注入的services接口为空的解决办法
  • 原文地址:https://www.cnblogs.com/2001guqiu/p/11908030.html
Copyright © 2020-2023  润新知