java菜单和工具栏界面代码设计
- 格式:docx
- 大小:249.34 KB
- 文档页数:10
实践——为窗口添加菜单条和工具条步骤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程序之前,我们需要选择一个合适的图形库。
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中使实现右键菜单十分简单,只需用到一个控件: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){ //菜单事件}}。
第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 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设计的方法和技巧。
一、选择合适的GUI库在Java中,有多个GUI库可供选择,比如Swing、JavaFX等。
选择合适的GUI库是设计美观直观界面的第一步。
Swing是一个成熟的GUI库,提供了丰富的组件和布局管理器,可以满足大部分GUI设计需求。
JavaFX是Java官方推荐的GUI库,它提供了更现代化的界面设计风格和更优秀的性能。
二、使用布局管理器布局管理器是GUI设计中重要的一环,它定义了组件在窗口中的位置和大小。
Java提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout等。
通过合理选择和组合这些布局管理器,可以实现各种复杂的界面布局。
三、使用合适的图标和图片图标和图片在GUI设计中起着很重要的作用,可以通过它们来提升用户界面的美观性和直观性。
Java提供了处理图标和图片的功能和类库,开发人员可以使用这些功能来加载、处理和显示各种图标和图片。
四、使用合适的颜色和字体颜色和字体也是GUI设计中非常重要的元素,可以用来强调界面的重要信息或者创建特定的视觉效果。
Java提供了各种颜色和字体的类库和功能,可以用来选择合适的颜色和字体样式。
五、增加交互性一个好的用户界面应该具有良好的交互性,能够方便用户进行操作。
Java提供了丰富的事件处理机制和监听器,可以实现交互性功能。
开发人员可以通过监听用户的操作,及时响应并更新界面,实现更好的用户体验。
六、进行界面美化除了以上的基本设计原则,开发人员还可以通过一些额外的技巧来进一步美化用户界面。
比如使用渐变色背景、添加阴影效果、使用动画效果等。
这些技巧可以使界面更加生动、有趣,并提升用户的整体体验。
8.5 菜单和工具栏菜单和工具栏可提供简单明了的指示说明,让用户非常方便的完成软件操作。
利用菜单可以将程序功能模块化。
8.5.1 JMenuBar 菜单菜单的组织方式为:一个菜单条(JMenuBar)中可以包含多个菜单(JMenu),一个菜单中可以包含多个菜单项(JMenuItem及其子类)。
有一些支持菜单的组件,如JFrame、JDialog以及JApplet,都有一个setMenuBar(JMenuBar bar)方法,可以利用这个方法来设置菜单条。
菜单项是菜单系统中最基本的组件,用户与菜单的交互主要是菜单项的交互,因此事件处理也是针对菜单项的。
当用户选择了某个菜单项,就会触发一个ActionEvent事件,可以编写相应的类实现ActionListener接口对该事件进行处理。
例8-8演示了如何创建一个完整的菜单系统,可以通过点击菜单项让菜单项做出反应。
import java.awt.*;import javax.swing.*;import java.awt.event.*;class JMenuBarTest extends JFrame{private JMenuBar bar = new JMenuBar();private JMenu menuFile = new JMenu("文件");private JMenuItem itemFile1 = new JMenuItem("新建");private JMenuItem itemFile2 = new JMenuItem("打开");private JMenuItem itemFile3 = new JMenuItem("保存");private JMenuItem itemFile4 = new JMenuItem("退出");private JMenu menuHelp = new JMenu("帮助");private JMenuItem itemHelp1 = new JMenuItem("帮助主题");private JMenuItem itemHelp2 = new JMenuItem("关于记事本");private JTextArea ta = new JTextArea(10,30);public JMenuBarTest(String title){super(title);//设置快捷键itemFile1.setAccelerator(KeyStroke.getKeyStroke('N',KeyEvent.CTRL_MASK));itemFile2.setAccelerator(KeyStroke.getKeyStroke('O',KeyEvent.CTRL_MASK));itemFile3.setAccelerator(KeyStroke.getKeyStroke('S',KeyEvent.CTRL_MASK));itemFile4.setAccelerator(KeyStroke.getKeyStroke('E',KeyEvent.CTRL_MASK));//添加JMenuItem到JMenumenuFile.add(itemFile1);menuFile.add(itemFile2);menuFile.add(itemFile3);menuFile.addSeparator();//加分割线menuFile.add(itemFile4);menuHelp.add(itemHelp1);menuHelp.addSeparator();//加分割线menuHelp.add(itemHelp2);//添加JMenu到JBarthis.setJMenuBar(bar);bar.add(menuFile);bar.add(menuHelp);Container contentPane = this.getContentPane();contentPane.add(ta);pack();this.setVisible(true);//注册监听器itemFile1.addActionListener(new MyActionListener());itemFile2.addActionListener(new MyActionListener());itemFile3.addActionListener(new MyActionListener());itemFile4.addActionListener(new MyActionListener());itemHelp1.addActionListener(new MyActionListener());itemHelp2.addActionListener(new MyActionListener());this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}private class MyActionListener implements ActionListener{public void actionPerformed(ActionEvent e) {ta.setText("您按下了菜单项:"+e.getActionCommand());}}}public class Test8_8 {public static void main(String[] args) {new JMenuBarTest("记事本");}}程序运行结果见图8-9。
java swing 代码例子Java Swing是Java语言中用于构建图形用户界面(GUI)的一个开发工具包。
它提供了一组丰富的组件和容器,可以用于创建各种界面元素,如按钮、文本框、标签等。
下面是一些使用Java Swing的代码示例。
1. 创建一个简单的窗口```javaimport javax.swing.JFrame;public class SimpleWindow {public static void main(String[] args) {JFrame frame = new JFrame("简单窗口");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 300);frame.setVisible(true);}}```这段代码创建了一个简单的窗口,并设置了窗口的标题、关闭操作、大小和可见性。
2. 添加按钮和事件监听器```javaimport javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;public class ButtonExample {public static void main(String[] args) {JFrame frame = new JFrame("按钮示例");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JButton button = new JButton("点击我");button.addActionListener(e -> {JOptionPane.showMessageDialog(frame, "你点击了按钮");});frame.add(button);frame.setSize(400, 300);frame.setVisible(true);}}```这段代码创建了一个带有一个按钮的窗口,当按钮被点击时,会弹出一个对话框显示"你点击了按钮"。
实验八菜单和工具栏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");}}。