• 技术文章 >Java >java教程

    用java可以写窗口程序么?

    (*-*)浩(*-*)浩2019-05-28 13:38:33原创2533
    Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。使用Java的优势在于网络应用方面,但Java也提供了强大的用于开发桌面程序的API,它们包含在javax.swing包中.使用这个包可以编写简单的Java桌面应用程序(窗口程序).

    Java的javax.swing包提供了许多用来设计GUI的组件类,在学习GUI编程时,需要掌握两个概念:容器类(Container)和组件类(Component),以下是GUI编程中经常提到的基本知识点.

    Java把Component类的子类或间接子类创建的对象称为一个组件.

    Java把Container的子类或间接子类创建的对象称为一个容器.

    可以向容器中添加组件.Container类提供了一个public方法add(),一个容器可以调用这个方法将组件添加到该容器中.

    容器调用removeAll()方法可以移除掉容器中的全部组件,调用remove(Component c)方法可以移除掉容器总参数c指定的组件.

    容器本身也是一个组件,因此可以把一个容器添加到另一个容器中实现容器的嵌套.

    每当容器添加新的组件或移除组件时,应当让容器调用validate方法,以保证容器中的组件能正确显示出来.

    接下来用Java编写一个简单的桌面程序。

    一个Java的应用程序需要使用JFrame类的实例来提供一个底层容器和操作系统进行交互,当需要一个窗口时,使用JFrame或其子类创建一个对象。窗口也是一个容器,可以向窗口添加组件。需要注意的是,窗口默认被系统添加到显示器屏幕上,一次不允许讲一个窗口添加到另一个容器中。

    package gui;  
    import javax.swing.*;  
    import java.awt.*;  
    import java.awt.event.KeyEvent;  
    import java.awt.event.InputEvent;   
      
    public class Text {  
      
        public static void main(String[] args) {  
            JFrame a=new JFrame("浏览器");//顶层容器  
            JMenuBar b=new JMenuBar();//菜单条  
            JMenu c=new JMenu("文件A");//菜单  
            c.setMnemonic('A');     
            //c.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));    
            JMenu d=new JMenu("编辑B");//菜单  
            d.setMnemonic('B');   
            //d.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,InputEvent.CTRL_MASK));  
            JMenu e=new JMenu("查看C");//菜单  
            c.setMnemonic('C');   
            //e.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));   
            JMenuItem f=new JMenuItem("保存");//菜单项  
            f.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,InputEvent.CTRL_MASK));           
            JMenu g=new JMenu("打开");//子菜单  
            //g.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,InputEvent.CTRL_MASK));  
            JMenuItem h=new JMenuItem("打开x");//菜单项  
            h.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));  
            JMenuItem i=new JMenuItem("打开y");//菜单项  
            i.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent.CTRL_MASK));  
            JMenuItem j=new JMenuItem("复制");//菜单项  
            j.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MASK));  
            JMenuItem k=new JMenuItem("停止");//菜单项  
            k.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I,InputEvent.CTRL_MASK));  
            JMenuItem l=new JMenuItem("刷新");//菜单项  
            l.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent.CTRL_MASK));  
            g.add(h);  
            g.add(i);  
            c.add(g);  
            c.add(f);  
            d.add(j);  
            e.add(k);  
            e.add(l);  
            b.add(c);  
            b.add(d);  
            b.add(e);  
            a.setJMenuBar(b);  //将菜单条加入窗口  
            a.setBounds(260,100,188,108);  
            a.setVisible(true);  
            a.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);  
                
      
        }  
      
    }

    以上就是用java可以写窗口程序么?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java
    上一篇:java怎么写网络爬虫 下一篇:java现在还用servlet么
    Web大前端开发直播班

    相关文章推荐

    • java怎么实现循环输入一个数?• java中new是什么意思?• java泛型的作用是什么• java形式参数是什么

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网