`

Java 编程练习题(六)

阅读更多

1.设计一个程序,在一窗口中实现一个文件菜单的功能,在该菜单中具有新建文件、打开文件、关闭文件和退出系统等内容。

//程序名:MyJMenu.java

  import javax.swing.*;

  import java.awt.event.*;

 

  public class MyJMenu extends JFrame{

        JTextArea theArea = null;

 

        public MyJMenu(){    

            super("JMenuItem1");//调用父类的构造方法-------给窗口写标题

            theArea = new JTextArea();

            theArea.setEditable(true);//设置文本框不可编辑

            getContentPane().add(new JScrollPane(theArea));

 

 

            JMenuBar MBar = new JMenuBar();//创建菜单条

            MBar.setOpaque(true);

 

            JMenu mfile = buildFileMenu();//创建菜单

            //自定义方法,创建菜单

            MBar.add(mfile);

 

 

            setJMenuBar(MBar);//设置菜单条

        }// JMenuItem1()构造方法结束

 

 

        public JMenu buildFileMenu() {//自定义方法,创建菜单

            JMenu thefile = new JMenu("文件");

 

            JMenuItem newf = new JMenuItem("新建");//菜单项

            JMenuItem open = new JMenuItem("打开");

            JMenuItem close= new JMenuItem("关闭");

            JMenuItem quit = new JMenuItem("退出");

            quit.addActionListener(new ActionListener(){

                  public  void  actionPerformed(ActionEvent e){

                       System.exit(0);

                  }

                });

 

            thefile.add(newf);

            thefile.add(open);

            thefile.add(close);

            thefile.addSeparator();//增加分隔线

            thefile.add(quit);

 

            return thefile;

       }//buildFileMenu()方法结束

 

 

 

    public static void main(String[] args){

        JFrame F = new MyJMenu();//改书上

        F.setSize(400,200);

        F.setVisible(true);

    } // main结束

  }//JMenuItem1类结束

 

2设计一程序,实现一个对文件进行操作的窗口,在该窗口中提供一个菜单栏和工具栏,在菜单栏中要求有对文件的新建、打开、关闭、保存、另存和退出,在工具栏中要求有新建、打开、关闭和字符加重、倾斜、下划线和字体选择等图形按钮工具。(菜单和工具栏中的事件处理只要求在按钮被按下之后在窗口给出提示。)

import javax.swing.*;

 import java.awt.*;

 import java.awt.event.*;

 public class MyJToolBar extends JFrame{  //声明实现的类,继承父类JFrame.

 

    JTextArea theArea = null;                //声明一文本域类对象并赋与空值。

    static final String ComboStr[] = {"Times New Roman","Dialog","宋体","黑体","楷体"};

   //定义一个静态final型的字符串数组,并赋值。该数组是工具栏中的下拉式列表中内容

 

    public MyJToolBar(){                    //定义该类的构造方法

        super("MyJToolBar");                  //调用副类的方法   在窗口标题栏中显示该字符串

        theArea = new JTextArea();            //创建多行文本编辑器(文本域)类的实例。

        theArea.setEditable(true); //设置对多行编辑器类对象允许还是不允许修改。

        this.getContentPane().add(new JScrollPane(theArea));//以文本域对象创建滚动条面板类的匿名实例,并将其加到框架的内容面板上。

 

 

        JMenuBar MBar = new JMenuBar();  //声明创建菜单栏实例

        MBar.setOpaque(true);        //设置菜单栏为白底色

 

        JMenu mfile = buildFileMenu();    //声明创建菜单实例

        JMenu mfile1 = buildFileMenu();    //声明创建菜单实例

        //菜单

        JToolBar theBar = buildToolBar();  //声明创建菜单项实例

        //工具条

        this.getContentPane().add(theBar,BorderLayout.SOUTH); //将菜单栏家道内容面板中

 

       MBar.add(mfile);        //将菜单mfile加到菜单栏上。

        MBar.add(mfile1);        //将菜单mfile加到菜单栏上。

       setJMenuBar(MBar);//必须调用该方法才能将菜单显示

    }                         //JToolBar1()构造方法结束

 

 

 public JMenu buildFileMenu() {         //构造菜单类的文件菜单的创建方法

   JMenu thefile = new JMenu("File");

   thefile.setMnemonic('e');     //设置菜单的快捷方式为按F  Alt+F

   //Mnemonic---助记

   JMenuItem newf = new JMenuItem("New",new ImageIcon("new24.gif"));//创建图形菜单项

   JMenuItem open = new JMenuItem("Open",new ImageIcon("open24.gif"));

   JMenuItem close= new JMenuItem("Close");

   JMenuItem quit = new JMenuItem("Exit",new ImageIcon("exit24.gif"));

 

   newf.setMnemonic('N');    //28-31行为菜单项设置快捷键

   open.setMnemonic('O');

   close.setMnemonic('L');

   quit.setMnemonic('X');//32-35行在菜单项旁说明什么组合键激活该菜单项

 

   newf.setAccelerator(KeyStroke.getKeyStroke('N', java.awt.Event.CTRL_MASK, false) );

   open.setAccelerator(KeyStroke.getKeyStroke('O', java.awt.Event.CTRL_MASK, false) );

   close.setAccelerator(KeyStroke.getKeyStroke('L', java.awt.Event.CTRL_MASK, false) );

   quit.setAccelerator( KeyStroke.getKeyStroke('X', java.awt.Event.CTRL_MASK, false) );

 

 

   newf.addActionListener(new ActionListener() { /*36-39行为实例newf安装监视器,并实现接口的方法,当事件发生时执行该方法。*/

      public void actionPerformed(ActionEvent e) {

         theArea.setText("");

      }

    });

 

   open.addActionListener(new ActionListener() { /*36-39行为实例open安装监视器,并实现接口的方法,当事件发生时执行该方法。*/

     public void actionPerformed(ActionEvent e) {

         theArea.append("-您选择了\"打开\"文件菜单项-\n");

     }});

 

   close.addActionListener(new ActionListener() {  //同上

     public void actionPerformed(ActionEvent e) {

         theArea.append("- MenuItem Close Performed -\n");

     }});

 

   quit.addActionListener(new ActionListener() {   //同上

     public void actionPerformed(ActionEvent e) {

          System.exit(0);

   }});

 

  thefile.add(newf);

  thefile.add(open);

  thefile.add(close);

 thefile.addSeparator();

 thefile.add(quit); //52-52行将各菜单项加到菜单实例中

  return thefile;   //返回菜单的值

  }                 //buildFileMenu()方法结束

 

  public JToolBar buildToolBar() {   //构造工具栏创建方法

     JToolBar toolBar = new JToolBar();

     toolBar.setFloatable(true);//设置工具栏为浮动。

/*60-62行创建3个工具栏动作事件处理类的组件,该类可以由读者自己来写,为该题编写的该类和接口、方法在103-111行,这个类继承了AbstractAction抽象类,实现接口Action interface,而Action interface又继承ActionListener 接口,因此可以在该类

中直接覆写actionPerformed()方法来处理事件。*/

 

   JToolBarAction tba_new   = new JToolBarAction("new",new ImageIcon("new24.gif"));

   JToolBarAction tba_open  = new JToolBarAction("open",new ImageIcon("open24.gif"));

  JToolBarAction tba_close = new JToolBarAction("close",new ImageIcon("close24.gif"));

                   //64-70

 

   JButton JB;    //声明JB是按钮类的对象

   JB = toolBar.add(tba_new); // tba_new实例加到工具栏上,并将该值赋给按钮对象

    JB.setActionCommand("11111111111111111111111111111111111111111111");

//为工具栏按钮设置执行动作行为的名称。

    JB = toolBar.add(tba_open);

    JB.setActionCommand("2222222222222222222222222");

 

   JB = toolBar.add(tba_close);

    JB.setActionCommand("3333333333333333333333333333");

 

    toolBar.addSeparator();  //加入一个分隔符

 

    JToolBarAction tba_B  = new JToolBarAction("bold",new ImageIcon("bold24.gif"));

    JToolBarAction tba_I  = new JToolBarAction("italic",new ImageIcon("italic24.gif"));

   JToolBarAction tba_U  = new JToolBarAction("underline",new

    ImageIcon("underline24.gif")); //73-76行创建ToolBarAction三个实例

    JB = toolBar.add(tba_B);

    JB.setActionCommand("#你选择了将文字格式化为粗体字!");

    JB = toolBar.add(tba_I);

    JB.setActionCommand("#你选择了将文字格式化为斜体字!");

    JB = toolBar.add(tba_U);

    JB.setActionCommand("#你选择了将文字格式化为带下划线的文字!");

 

    toolBar.addSeparator();   //加入分隔符

    JLabel JLfont = new JLabel("Font Type");  //创建标签实例JLfort

    toolBar.add(JLfont);                      //将标签加到工具栏上去

    toolBar.addSeparator();

 

    JComboBox jcb = new JComboBox(ComboStr);      //创建下拉列表实例

 

    jcb.addActionListener(new ActionListener() { //为下拉列表安装监视器

        public void actionPerformed(ActionEvent e){    //用匿名方式实现接口方法

            theArea.append("111111111 "+((JComboBox)e.getSource()).getSelectedItem()+"1111111111111\n");  //在窗口中显示工具栏或菜单栏中动作行为的信息。

   }});                                                                                          //得到选择的项

    toolBar.add(jcb);     //jcb加到工具栏上

      return toolBar;     //返回tooBar方法的值

   }                       //buildToolBar()方法结束

   public static void main(String[] args){    //声明主方法

      JFrame F = new MyJToolBar(); //创建容器框架实例

      F.setSize(430,200);               //设置窗口大小

      F.addWindowListener(new WindowAdapter() {

      public void windowClosing(WindowEvent e) {

         System.exit(0);

   }});

    F.setVisible(true);

    }           //main()方法结束

 

 

 

   class JToolBarAction extends AbstractAction{  //声明JtoolBarAction类和接口

      public JToolBarAction(String name,Icon icon){ //构造该类的构造方法

        super(name,icon);}    //调用父类的方法,传递的参数是字符串name和图形icon

 

        public void actionPerformed(ActionEvent e){

            try{

                 theArea.append(e.getActionCommand()+"\n");

                 //                       得到动作命令字符串

            }

            catch(Exception ex){}

        }

    }    // JtoolBarAction类结束

 

  }      // JToolBar1类结束

 

分享到:
评论

相关推荐

    经典java编程练习题

    经典Java编程练习题 Java编程练习题是一组经典的编程练习题,旨在考核Java编程能力。这30道练习题涵盖了Java基础知识、数据类型、运算符、控制结构、方法、数组、面向对象编程等方面的知识点。 知识点1: Java基础...

    Java编程练习题

    本资源“Java编程练习题”旨在帮助学习者深化对Java Standard Edition(Java SE)的理解,通过实践来提高编程技能。Java SE是Java平台的基础,提供了用于桌面应用程序和服务器端应用程序开发的核心API。 这些练习题...

    Java课后编程练习题答案

    "Java课后编程练习题答案"提供了对这些练习题的解答,帮助学习者检查自己的理解和解决方法。 一、Java基础 Java的基础包括语法、数据类型、变量、运算符、流程控制(如if-else、switch、for、while循环)以及方法。...

    Java面向对象编程练习题.pdf

    Java面向对象编程练习题 本资源摘要信息涵盖了 Java 面向对象编程的基础知识,通过三个练习题,展示了 Java 编程语言的基本概念和应用。 练习题 01: 类的成员变量 本练习题展示了 Java 中类的成员变量的概念。类 ...

    (IT类课程习题)Java编程练习题Java面试题.zip

    (IT类课程习题)Java编程练习题Java面试题.zip (IT类课程习题)Java编程练习题Java面试题.zip (IT类课程习题)Java编程练习题Java面试题.zip (IT类课程习题)Java编程练习题Java面试题.zip

    java编程练习题

    java编程练习题,内有许多基础、经典的java编程练习题,快来下载吧!

    (IT类课程习题)Java编程练习题Java面试题PGJ.zip

    (IT类课程习题)Java编程练习题Java面试题【PGJ】.zip (IT类课程习题)Java编程练习题Java面试题【PGJ】.zip (IT类课程习题)Java编程练习题Java面试题【PGJ】.zip (IT类课程习题)Java编程练习题Java面试题【PGJ】.zip

    50道JAVA基础编程练习题

    Java 基础编程练习题汇总 本资源提供了 50 道 Java 基础编程练习题,涵盖了 Java 编程的多个方面,包括数据类型、运算符、控制结构、函数、数组、字符串等。这些练习题可以帮助初学 Java 编程的开发者更好地理解 ...

    (IT类课程习题)Java编程练习题Java面试题PGC.zip

    (IT类课程习题)Java编程练习题Java面试题【PGC】.zip (IT类课程习题)Java编程练习题Java面试题【PGC】.zip (IT类课程习题)Java编程练习题Java面试题【PGC】.zip (IT类课程习题)Java编程练习题Java面试题【PGC】.zip

    java练习题-网络编程

    在Java编程中,网络编程是一个重要的领域,主要涉及到如何通过网络连接进行数据传输。这里我们关注的是TCP Socket通信,这是一种面向连接的、可靠的、基于字节流的传输层通信协议。 1. **InetAddress类**: `...

    Java编程思想练习题答案(代码)

    通过这些练习题和代码实现,学习者可以逐步提升Java编程能力,理解Java编程思想的精髓,从而在实际项目中游刃有余。这些解答不仅提供正确结果,还应该解释背后的原理和最佳实践,有助于深化理解并提升编程技巧。

    Java编程练习题资源 学习Java编程是一项重要的技能,无论是初学者还是有经验的开发人员都可以从练习题中受益 这份练习题

    【Java编程练习题资源】 学习配套博客地址:https://blog.csdn.net/qq_36631076/article/details/136791045 在学习Java编程时,熟练掌握常用的Java类和API是至关重要的。以下是关于Java编程基础、面向对象和常用类...

    Java编程练习题资源 -各章节练习刷题

    这份“Java编程练习题资源 - 各章节练习刷题”是为那些希望提升Java技能或巩固基础知识的学习者准备的宝贵资料。通过解决这些练习题,无论是初学者还是经验丰富的开发人员,都能加深对Java语言的理解,提高解决问题...

    Java编程思想练习题答案

    以下是对"Java编程思想练习题答案"这个主题的详细知识点解析: 1. **基础语法**:Java的基础语法包括变量声明、数据类型(基本类型和引用类型)、运算符、流程控制(if语句、switch语句、循环语句)等。在解答练习...

    JAVA基础编程练习题50题及经典算法90题【含源码及答案】-史上最全

    Java基础编程练习题和经典算法是提升编程技能和准备面试的关键环节。这50题的基础编程练习涵盖了Java语言的核心概念,如数据类型、控制结构、类与对象、异常处理、集合框架等,旨在帮助学习者巩固基础知识并提高编程...

    java编程思想练习题答案

    《Java编程思想》是Bruce Eckel的经典之作,它深入浅出地介绍了Java语言的核心概念和技术。这本书中的练习题是学习者提升技能的重要途径,而这个压缩包提供的就是这些练习题的解答,以源码的形式保存为.java文件。...

    Java编程思想练习题

    《Java编程思想练习题》是一份宝贵的资源,旨在帮助学习者深入理解和掌握Java编程的核心概念。这份资料可能包含了丰富的编程习题,旨在强化对Java语言的理解,提高编程技能。通过解决这些练习,开发者可以巩固基础...

    JAVA编程题全集(100题及答案)——直接打印

    JAVA 编程题全集知识点总结 本资源提供了一个完整的 JAVA 编程题全集,涵盖了大量的题目和经典的解法,非常适合刷学完基础、刷题前的知识总结与开拓。以下是从资源中提取的重要知识点: 1. JAVA 基础知识:资源中...

Global site tag (gtag.js) - Google Analytics