java菜单和工具栏界面代码设计
GUI实践-为窗口添加菜单条和工具条

实践——为窗口添加菜单条和工具条步骤1:新建工程,以自己的学号命名:如。
在建好的java project里,新建可视化类mainFrame,继承自swing包中的JFrame类,窗口自带内容面板名称为“jContentPane”,将窗口的标题改为“主窗体”,修改窗口的属性,将“visiable”属性改为“true”;步骤2:修改jContentPane,将其“layout”属性改为“null”;步骤3:下面开始制作菜单,打开可视化编辑区域右侧浮动的组件面板“Palette”,添加菜单条,在“swing menus”页中选中JMenuBar,单击拖动到“mainFrame”,将其命名为“jJMenuBar”;注意:也可以在“java beans”页面,选中“this-“主窗体”,再进行拖动。
步骤4:打开可视化编辑区域右侧浮动的组件面板“Palette”,添加菜单,在“swing menus”页中选中JMenu,单击拖动到“jJMenuBar”,将其命名为“jMenu1”;修改“jMenu1”的“text”属性为“文件”。
步骤5:打开可视化编辑区域右侧浮动的组件面板“Palette”,添加菜单项,在“swing menus”页中选中JMenuItem,单击拖动到“jMenu1”,将其命名为“jMenuItem1”;修改“jMenuItem1”的“text”属性为“新建”。
步骤6:重复步骤5的操作,新建菜单项“jMenuItem2”;修改“jMenuItem2”的“text”属性为“保存”。
步骤7:重复步骤5的操作,新建菜单项“jMenuItem3”;修改“jMenuItem3”的“text”属性为“退出”。
步骤8:打开可视化编辑区域右侧浮动的组件面板“Palette”,添加工具栏,在“swing menus”页中选中JToolBar,单击拖动到“jContentPane”,将其命名为“jJToolBarBar”;在可视化编辑区合理调整工具条的大小;步骤9:打开可视化编辑区域右侧浮动的组件面板“Palette”,添加工具栏里面的按钮,在“Swing Components”页中选中JButton,单击拖动到“jJToolBarBar”,将其命名为“jButton1”;修改“jButton1”的“icon”属性,给按钮添加一幅图片;可以从工程目录里添加,也可以从本地硬盘的某个位置添加;步骤10:重复步骤9,再给工具条添加一个按钮;步骤11:给菜单项“退出”添加事件处理代码;在Eclipse工作台的左下角“java bean”页面中选中“退出”菜单项,单击右键,在弹出的快捷菜单中选中“Event”,在弹出的二级菜单中选中“action performed”单击,此时编译环境自动生成了“退出”菜单项的动作事件处理代码框架如下:jMenuItem2.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent e) {System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()}});在方法体里添加如下:System.exit(0);步骤12:重复步骤11,也可以给工具栏中的某个按钮添加事件处理。
JavaGUI编程创建漂亮的用户界面

JavaGUI编程创建漂亮的用户界面JavaGUI编程是一种强大的工具,它可以帮助开发者创建漂亮、直观的用户界面。
在本文中,我将为您介绍如何使用JavaGUI编程来设计和实现一个令人印象深刻的用户界面。
一、选择合适的图形库在开始编写JavaGUI程序之前,我们需要选择一个合适的图形库。
Java提供了多种图形库选项,包括Swing、JavaFX等。
在这里,我将以Swing为例进行演示。
二、设计用户界面设计用户界面是实现漂亮用户界面的第一步。
在设计过程中,我们应该考虑到用户的需求和使用习惯,使界面具有良好的可用性和可访问性。
以下是一些设计原则可以帮助您创建漂亮的用户界面:1. 简洁明了:界面应该简洁明了,避免过多的干扰元素和复杂的图形。
2. 色彩搭配:选择适合的颜色搭配,使界面看起来舒适和谐。
同时要注意颜色的对比度,以确保文字和界面元素的可读性。
3. 布局:合理的布局可以使界面更加整洁美观。
可以使用不同的布局管理器(如FlowLayout、GridBagLayout等)来帮助您实现布局。
4. 图标和图片:适当使用图标和图片可以增加界面的吸引力。
选择高质量的图标和图片,确保其分辨率和大小适合当前界面的需求。
5. 文字字体:选择易读的字体和合适的字号。
正文通常使用宋体、微软雅黑等,标题可以选择一些特殊的字体以增加视觉效果。
三、编写代码一旦您完成了用户界面的设计,接下来就是编写代码来实现这个界面。
下面是一个简单的示例,展示如何使用Swing来创建一个基本的用户界面。
```javaimport javax.swing.*;import java.awt.*;public class GUIExample {public static void main(String[] args) {JFrame frame = new JFrame("漂亮的用户界面");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 300);JPanel panel = new JPanel();panel.setLayout(new FlowLayout());JLabel label = new JLabel("欢迎使用漂亮的用户界面!");label.setFont(new Font("宋体", Font.BOLD, 18));JButton button = new JButton("点击我");button.setPreferredSize(new Dimension(100, 50));panel.add(label);panel.add(button);frame.getContentPane().add(panel);frame.setVisible(true);}}```上述代码演示了如何创建一个简单的用户界面,其中包括一个标签和一个按钮。
java实现三级菜单栏_在java中实现左右键菜单

java实现三级菜单栏_在java中实现左右键菜单在java中实现左右键菜单在java中使实现右键菜单十分简单,只需用到一个控件:popupmenu.首先,须要声明一个popupmenu对像是。
popupmenupopupmenu1=newpopupmenu();然后新建一些子菜单,这里我们采用创建三个菜单项menuitemmenuitem1=newmenuitem();menuitemmenuitem2=newmenuitem();menuitemmenuitem3=newmenuitem();然后再出来初化,并重新加入监听事件中:menuitem1.setlabel("菜单1");menuitem1.addactionlistener(newjava.awt.event.actionlistener(){//菜单1的事件监听publicvoidactionperformed(actionevente){menuitem1_actionperformed(e);//菜单事件函数}});menuitem2.setlabel("菜单2");menuitem3.setlabel("菜单3");popupmenu1.add(menuitem1);popupmenu1.add(menuitem2);popupmenu1.add(menuitem3);//在this中重新加入popupmenu1add(popupmenu1);这时,菜单已经加到程序中了,现在我们须要搞的就是在页面右键时表明。
先在init中加入鼠标的单击事件,this.addmouselistener(newjava.awt.event.mouseadapter(){ publicvoidmousepressed(mouseevente){this_mousepressed(e);}});再在this_mousepressed(e);中将菜单显示出来voidthis_mousepressed(mouseevente){intmods=e.getmodifiers();//鼠标右键if((mods&inputevent.button3_mask)!=0){//弹头出来菜单popupmenu1.show(this,e.getx(),e.gety());}}//菜单1事件voidmenuitem1_actionperformed(actionevente){//菜单事件1}不好了,谈至这里已经全部完结,是不是非常简单啊这里有一个继承panel类的完整的例子importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclasspanel1extendsjpanel{popupmenupopupmenu1=newpopupmenu();menuitemmenuitem1=newmenuitem();menuitemmenuitem2=newmenuitem();menuitemmenuitem3=newmenuitem();publicpanel1(){try{jbinit();}catch(exceptionex){ex.printstacktrace();}}voidjbinit()throwsexception{this.setlayout(null);menuitem1.setlabel("菜单1");menuitem1.addactionlistener(newjava.awt.event.actionlistener(){ publicvoidactionperformed(actionevente){menuitem1_actionperformed(e);}});menuitem2.setlabel("菜单2");menuitem3.setlabel("菜单3");this.addmouselistener(newjava.awt.event.mouseadapter(){publicvoidmousepressed(mouseevente){this_mousepressed(e);}});popupmenu1.add(menuitem1);popupmenu1.add(menuitem2);popupmenu1.add(menuitem3);add(popupmenu1);}voidthis_mousepressed(mouseevente){intmods=e.getmodifiers();//鼠标右键if((mods&inputevent.button3_mask)!=0){//弹头出来菜单popupmenu1.show(this,e.getx(),e.gety());}}voidmenuitem1_actionperformed(actionevente){ //菜单事件}}。
java图形用户界面设计教程

第4章图形用户界面设计本章要点● Java图形用户界面设计的基本知识●布局管理器的应用● Java常用图形用界面设计组件的应用● Java常用组件事件处理的应用4.1 认识AWT包和Swing包用户界面是计算机用户与软件之间的交互接口。
一个功能完善,使用方便的用户界面可以使软件的操作更加简单,使用户与程序之间的交互更加有效。
因此图形用户界面(graphics user interface,GUI)的设计和开发已经成为软件开发中的一项重要的工作。
Java语言提供的开发图形用户界面(GUI)的功能包括AWT(Abstract Window Toolkit)和Swing两部分。
这两部分功能由Java的两个包来完成-awt和swing。
虽然这两个包都是用于图形用户界面的开发,但是它们不是同时被开发出来了。
awt包是最早被开发出来的。
但是使用awt包开发出来的图形用户界面并不完美,在使用上非常的不灵活。
比如awt包所包含的组件,其外观是固定的,无法改变,这就使得开发出来的界面非常死板。
这种设计是站在操作系统的角度开发图形用户界面,主要考虑的是程序与操作系统的兼容性。
这样做的最大问题就是灵活性差,而且程序在运行时还会消耗很多系统资源。
由于awt包的不足表现,SUN公司于1998年针对它存在的问题,对其进行了扩展,开发出了Swing,即swing包。
但是,SUN公司并没有让swing包完成替代awt包,而是让这两个包共同存在,互取所需。
awt包虽然存在缺点,但是仍然有可用之处,比如在图形用户界面中用到的布局管理器、事件处理等依然采用的是awt包的内容。
Java有两个主要类库分别是Java包和Javax包。
在Java包中存放的是Java语言的核心包。
Javax包是Sun公司提供的一个扩展包,它是对原Java包的一些优化处理。
swing包由于是对awt包的扩展和优化,所以是存放在Javax包下的,而awt包是存放在Java包下的。
Java图形用户界面设计

13
(3) 事件监听器(Listener) 事件处理机制中的核心部分,主要的功能大致可以分为 两部分:第一,监听组件,观察组件有没有发生某类事 件;第二,如果监听的组件发生了某类事件,则调用对 应的动作处理方法立刻处理这个事件。 在Java事件处理机制中,监听器处于主体地位。与事件 分类对应,监听器也相应的分成若干种类型,例如,鼠 标事件对应鼠标监听器,键盘事件对应键盘监听器,窗 口事件对应窗口监听器等。
25
5.3.2 AWT组件库常用组件举例 【问题1】 在窗口f中,有一个文本框tf,三个按钮btn_1、 btn_2、btn_3。当使用鼠标点击btn_1时,文本框显示 btn_1按钮被点击,当使用鼠标点击btn_2按钮时,文本框 显示btn_2按钮被点击,当使用鼠标点击btn_3按钮或者窗 口f的关闭按钮时,窗口关闭,程序退出。
(4) Choice Choice表示下拉选择框组件,选择框中的每一个选项称 为一个Item,Item的类型一般为String字符串。 (5) Label Label表示标签组件,主要作用在于创建提示性的文本。
23
(6) MenuBar、Menu和MenuItem MenuBar表示菜单条组件,该组件由Menu菜单构成,而 Menu菜单又可由Menu菜单和MenuItem菜单项构成。 (7) TextField TextField表示文本框组件,与文本域组件不同的是, 文本框中只能有一行文本。 (8) TextArea TextArea表示文本域组件,可以容纳多行文本。
30
(3) JRadioButton和ButtonGroup 在Swing中与Checkbox对应的是JCheckBox,实际使用时, 如果需要创建单选框组的话,经常使用的是 JRadioButton而非JCheckBox。如果将多个JRadioButton 组件放在一个ButtonGroup中时,这些JRadioButton组件 将不再具有复选功能,而是只具有单选功能,也即变成 单选框。 (4) JComboBox JcomboBox对应于AWT中的Choice,表示下拉选择框组件, 选择框中的每一个选项称为一个Item,Item的类型一般 为String字符串,也可以是指定的泛型类型。
Java语言程序设计:第十章 Java图形用户界面

t}ryesflrs{eaetmD{teer.fypaau{cltkC(l)o; seOperation(EXIT_ON_CLOSE);
选中“ToGoelnUyke}DsiItrMt.caiegmtjefaebreamxtaeIcHtncnmDnLheeaistoea}ep((gidf)oE.ctae;veinkxoaurarAc单.ntcllsstcieo.dTnc击ephmpoardrtetmotLi(i“FneoeEleokte(nnFnS)xoieiSttl”ec(te;kla)}iC”exzA.cgceplkneaetT=dtipsoS“rFtsanicoSNecrnaeeeav)(exlem(){nc;ASeellp”(iz)t)ei保;o()n存;)源{ 文U件I和M工an程a文g件er.getS
边
有间距
CENTER
的 East
组 容se器tHgap(int hgap)
件
setVgap(int vgap)
组
将组件间的水平间距设置为指定的值
件
将组件间的垂直间距设置为指定的值
下边的组件
South
天津职业技术师范大学
BorderLayout
…… class testFrame extends JFrame {
天津职业技术师范大学
BorderLayout
North
左
边 West 的
组 容器
件
上边的组件 CENTER
下边的组件
South
右 边 的 East 组 件
天津职业技术师范大学
BorderLayout
North
方法
左 BorderLay边out( )
West 的
java JMenu菜单

java JMenu菜单在一个窗口中,经常需要给窗口添加菜单条。
在Java中这一部分是由JMenuBar、JMenu和JMenuItem三个类实现的,分别对应菜单条、菜单和菜单项。
1.菜单栏(JMenuBar)创建菜单栏是制作菜单的第一步,并JMenuBar的构造方法相当简单,如通过“JMenuBar TestJMenuBar=new JMenuBar();”语句即可创建。
而在设置菜单栏时,可以通过表9-22所示的常用方法。
需要说明的是,JMenuBar类根据JMenu添加的顺序从左到右显示,并建立整数索引。
2.菜单(JMenu)在添加完菜单栏后,并不会显示任何菜单内容,所以还需要在菜单栏中添加菜单内容。
菜单内容的JMenu类的构造方法有4种:●JMenu( ) 构造一个空菜单。
●JMenu(Action a) 构造一个菜单,菜单属性由相应的动作来提供。
●JMenu(String s) 用给定的标志构造一个菜单。
●JMenu(String s,Boolean b) 构造一个新JMenu,用提供的字符串作为其文本并指定其是否为分离式(tear-off)菜单。
在构造完后,使用JMenuBar类的add方法添加到菜单栏中。
而JMenu的常用方法如表9-23所示。
3.菜单项(JMenuItem)在菜单中可以添加不同的内容,可以是菜单项(JMenuItem),可以是一个子菜单,也可以是分隔符。
子菜单的添加是直接将一个子菜单添加到母菜单中,而分隔符的添加只需要将分隔符作为菜单项添加到菜单中。
菜单的该实现是一个包含JMenuItem的弹出窗口,用户选择JMenuBar上的项时会显示该JMenuItem。
除JMenuItem之外,JMenu还可以包含JSeparator。
其菜单项的构建方法如下:●JMenuItem() 创建不带有设置文本或图标的JMenuItem。
●JMenuItem(Action a) 创建从指定的Action获取其属性的菜单项。
Java的GUI设计打造美观直观的用户界面

Java的GUI设计打造美观直观的用户界面Java是一种广泛使用的编程语言,拥有着强大的图形用户界面(GUI)设计能力。
通过使用Java提供的各种GUI库和工具,开发人员可以轻松地创建美观、直观的用户界面。
本文将介绍一些在Java中实现这样的GUI设计的方法和技巧。
一、选择合适的GUI库在Java中,有多个GUI库可供选择,比如Swing、JavaFX等。
选择合适的GUI库是设计美观直观界面的第一步。
Swing是一个成熟的GUI库,提供了丰富的组件和布局管理器,可以满足大部分GUI设计需求。
JavaFX是Java官方推荐的GUI库,它提供了更现代化的界面设计风格和更优秀的性能。
二、使用布局管理器布局管理器是GUI设计中重要的一环,它定义了组件在窗口中的位置和大小。
Java提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout等。
通过合理选择和组合这些布局管理器,可以实现各种复杂的界面布局。
三、使用合适的图标和图片图标和图片在GUI设计中起着很重要的作用,可以通过它们来提升用户界面的美观性和直观性。
Java提供了处理图标和图片的功能和类库,开发人员可以使用这些功能来加载、处理和显示各种图标和图片。
四、使用合适的颜色和字体颜色和字体也是GUI设计中非常重要的元素,可以用来强调界面的重要信息或者创建特定的视觉效果。
Java提供了各种颜色和字体的类库和功能,可以用来选择合适的颜色和字体样式。
五、增加交互性一个好的用户界面应该具有良好的交互性,能够方便用户进行操作。
Java提供了丰富的事件处理机制和监听器,可以实现交互性功能。
开发人员可以通过监听用户的操作,及时响应并更新界面,实现更好的用户体验。
六、进行界面美化除了以上的基本设计原则,开发人员还可以通过一些额外的技巧来进一步美化用户界面。
比如使用渐变色背景、添加阴影效果、使用动画效果等。
这些技巧可以使界面更加生动、有趣,并提升用户的整体体验。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验八菜单和工具栏import java.awt.*;import javax.swing.*;import java.awt.event.*;public class c extends JFrame{private JMenuBar menuBar;private JMenuxtMenu,xyMenu,zyMenu,xsMenu,kcMenu,cjMenu,jsMenu;// private JMenuItem aItem,bItem,cItem,dItem; //private JMenuItem eItem,fItem,gItem,hItem;private JMenuItem iItem,jItem,kItem,lItem;private JMenuItem mItem,nItem,oItem,pItem;private JMenuItem qItem,rItem,sItem,tItem;private JMenuItem uItem,vItem,wItem,xItem;private JMenuItem yItem,zItem,aaItem,bbItem;public c(String account){setTitle("学生管理系统"+"当前管理员为"+account);setSize(500,400);center(this);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);createMenu();showToolBar();setVisible(true);}//caidanpublic void createMenu(){menuBar=new JMenuBar();//创建菜单栏xtMenu=new JMenu("系统管理");aItem=new JMenuItem("学院设置");bItem=new JMenuItem("专业设置");cItem=new JMenuItem("修改密码");dItem=new JMenuItem("退出");//dItem.setMnemonic('Q');xtMenu.add(aItem);xtMenu.add(bItem);xtMenu.addSeparator();xtMenu.add(cItem);xtMenu.addSeparator();xtMenu.add(dItem);menuBar.add(xtMenu);this.setJMenuBar(menuBar);xyMenu=new JMenu("学院管理"); eItem=new JMenuItem("学院介绍"); fItem=new JMenuItem("学院风貌"); gItem=new JMenuItem("学院大纲"); hItem=new JMenuItem("学院注册"); //dItem.setMnemonic('Q'); xyMenu.add(eItem);xyMenu.add(fItem);xyMenu.addSeparator(); xyMenu.add(gItem);xyMenu.addSeparator(); xyMenu.add(hItem);menuBar.add(xyMenu);this.setJMenuBar(menuBar);zyMenu=new JMenu("专业管理"); iItem=new JMenuItem("专业介绍"); jItem=new JMenuItem("专业课程");kItem=new JMenuItem("专业方向"); lItem=new JMenuItem("专业考证");//dItem.setMnemonic('Q');zyMenu.add(iItem);zyMenu.add(jItem);zyMenu.addSeparator();zyMenu.add(kItem);zyMenu.addSeparator();zyMenu.add(lItem);menuBar.add(zyMenu);this.setJMenuBar(menuBar);xsMenu=new JMenu("学生管理");mItem=new JMenuItem("班级安排"); nItem=new JMenuItem("网上课程"); oItem=new JMenuItem("学生安全介绍"); pItem=new JMenuItem("学生公寓");//dItem.setMnemonic('Q');xsMenu.add(mItem);xsMenu.add(nItem);xsMenu.addSeparator();xsMenu.add(oItem);xsMenu.addSeparator(); xsMenu.add(pItem);menuBar.add(xsMenu);this.setJMenuBar(menuBar);kcMenu=new JMenu("课程管理"); qItem=new JMenuItem("课程介绍"); rItem=new JMenuItem("课程安排"); sItem=new JMenuItem("课程报名"); tItem=new JMenuItem("课程培训"); //dItem.setMnemonic('Q'); kcMenu.add(qItem);kcMenu.add(rItem);kcMenu.addSeparator(); kcMenu.add(sItem);kcMenu.addSeparator(); kcMenu.add(tItem);menuBar.add(kcMenu);this.setJMenuBar(menuBar);cjMenu=new JMenu("成绩管理"); uItem=new JMenuItem("查看分数");vItem=new JMenuItem("查看试卷"); wItem=new JMenuItem("学科学分"); xItem=new JMenuItem("等级查看"); //dItem.setMnemonic('Q'); cjMenu.add(uItem);cjMenu.add(vItem);cjMenu.addSeparator(); cjMenu.add(wItem);cjMenu.addSeparator();cjMenu.add(xItem);menuBar.add(cjMenu);this.setJMenuBar(menuBar);jsMenu=new JMenu("教师管理"); yItem=new JMenuItem("教师介绍"); zItem=new JMenuItem("教师课程"); aaItem=new JMenuItem("修改信息"); bbItem=new JMenuItem("工资明细"); //dItem.setMnemonic('Q'); jsMenu.add(yItem);jsMenu.add(zItem);jsMenu.addSeparator();jsMenu.add(aaItem);jsMenu.addSeparator();jsMenu.add(bbItem);menuBar.add(jsMenu);this.setJMenuBar(menuBar);}public void showToolBar(){JToolBar jt=new JToolBar();JButton sys_setBtn=new JButton(new ImageIcon(this.getClass().getResource("系统设置.png")));sys_setBtn.setToolTipText("系统设置");JButton s_queryBtn=new JButton(new ImageIcon(this.getClass().getResource("成绩查询.png")));s_queryBtn.setToolTipText("成绩查询");JButton stuinf_inputBtn=new JButton(new ImageIcon (this.getClass().getResource("学生信息录入.png")));stuinf_inputBtn.setToolTipText("系统设置");JButton sys_exitBtn=new JButton(new ImageIcon(this.getClass().getResource("退出系统.png")));sys_exitBtn.setToolTipText("退出系统");jt.add(sys_setBtn);jt.addSeparator();jt.add(s_queryBtn);jt.addSeparator();jt.add(stuinf_inputBtn);jt.addSeparator();jt.add(sys_exitBtn);this.add(jt,BorderLayout.NORTH);}public void center(JFrame frame){Toolkit toolkit=Toolkit.getDefaultToolkit();Dimension dim=toolkit.getScreenSize();int screenWidth=dim.width;int screenHeight=dim.height;int w=frame.getWidth();int h=frame.getHeight();int x=(screenWidth-w)/2;int y=(screenHeight-h)/2;frame.setLocation(x,y);}public static void main(String[] args) {new c("JOJO");}}。