扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章将为大家详细讲解有关用java能不能写窗口程序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联建站是一家集网站建设,固阳企业网站建设,固阳品牌网站建设,网站定制,固阳网站建设报价,网络营销,网络优化,固阳网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。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能不能写窗口程序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流