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提供了丰富的事件处理机制和监听器,可以实现交互性功能。
开发人员可以通过监听用户的操作,及时响应并更新界面,实现更好的用户体验。
六、进行界面美化除了以上的基本设计原则,开发人员还可以通过一些额外的技巧来进一步美化用户界面。
比如使用渐变色背景、添加阴影效果、使用动画效果等。
这些技巧可以使界面更加生动、有趣,并提升用户的整体体验。
2012年计算机二级Java菜单和工具栏学习教程:JMenuBar 菜单
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 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);}}```这段代码创建了一个带有一个按钮的窗口,当按钮被点击时,会弹出一个对话框显示"你点击了按钮"。
Notepad—用java写的写字板
editMenu.addSeparator();
editMenu.add(menuSelectAll);
editMenu.add(menuClear);
editMenu.addSeparator();
editMenu.add(menuSelect);
editMenu.addSeparator();
}
//组件布置
private void setUpUIComponent(){
//设置窗口大小
setSize(640,480);
//菜单栏
setLocation(300,150);
JMenuBar menuBar = new JMenuBar();
//构造方法对Notepad初始化
public Notepad(){
//定义Title为写字板
super("写字板");
setUpUIComponent();
setUpEventListener();
//设置为可见
setVisible(true);
private JMenuItem menuChangeToLow;//转换小写
private JMenuItem menuAbout;//关于菜单
private JTextArea textArea;//编辑区
//弹出式菜单对象
private JPopupMenu popUpMenu;
private JMenuItem menuSelect;//选择-查找替换
private JMenuItem menuSelectAll;//全选
private JMenuItem menuClear;//清空
Java程序设计:第八章 Swing图形界面程序设计
原型 public FlowLayout(int align )
描述
FlowLayerout布局时,组件在容器以从左到右,从 上到下的方式排列。 align用于指定行对齐方式, FlowLayout.LEFT表示左 对齐,相应的有右对齐和居中对齐。
java.awt.Container的成员JLabel(2)
JFrame的成员方法
原型
public JFrame( ) public JFrame(String title) public void setDefaultCloseOperation( int operation) public void setSize(int width, int height) public void setVisible(boolean b) public Container getContentPane()
描述 构造一个无标题不可见的框架 构造一个标题为title的框架 设置当关闭框架时的操作,例如operation为 JFrame.EXIT_ON_CLOSE时表示退出程序
设置框架的大小
设置框架是否可见 返回当前框架的内容窗格
7
组件和容器 -JFrame和JLabel(3)
FlowLayout布局的成员方法:
4
组件和容器(3)
一般容器包括: 面板JPanel,滚动窗格JScrollPane,选项卡 窗格JTabbedPane和工具栏JToolBar。
专用容器包括:内部框架(JInternalFrame),分层窗格 (JLayedPane)、根窗格(JRootPane)、玻璃窗格(GlassPane )、内 容窗格(ContentPane)。
描述 构造一个父窗口为owner,标题为title,模式为 modal的对话框。Modal为true表示有模式,为false 表示无模式 设置对话框的大小
角色 菜单 表结构设计 java
角色菜单表结构设计java全文共四篇示例,供读者参考第一篇示例:角色菜单表结构设计在Java编程中起着重要作用,它是实现权限管理和用户角色管理的基础。
在一个系统中,通常会存在多种角色,每个角色对应不同的权限,而菜单则是用来展示不同权限下可操作的功能。
在设计角色菜单表结构时,需要考虑到系统的实际需求和多样性。
本文将探讨如何设计一个完整的角色菜单表结构,并使用Java语言实现。
一、角色菜单表结构设计1. 角色表(Role)角色表用来存储系统中定义的角色信息,每个角色对应一个或多个权限。
角色表的设计如下:角色ID(role_id):角色的唯一标识符,通常为一个整数值。
角色名称(role_name):角色的名称,用来描述角色的职能或身份。
备注(remark):对角色的描述信息。
创建时间(create_time):角色的创建时间。
更新时间(update_time):角色的更新时间。
2. 菜单表(Menu)关联ID(id):关联关系的唯一标识符,通常为一个整数值。
角色ID(role_id):关联的角色ID。
菜单ID(menu_id):关联的菜单ID。
4. 用户角色关联表(UserRole)根据上述设计原则,我们可以创建一个简单的角色菜单表结构示例,用来展示Java代码实现的逻辑。
具体定义如下:```@Entity@Table(name = "role")public class Role {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long roleId;private String roleName;private String remark;private Date createTime;private Date updateTime;// Getters and setters// toString method}```2. 菜单表(Menu)定义:以上是一个简单的角色菜单表结构设计示例,通过以上示例代码,我们可以在Java中实现角色菜单关联的逻辑。
java画图板课程设计
计算机与信息工程系《JA V A程序设计》课程设计画图板专业计算机班级计000001学号00000姓名0000E-Mail 电话10000000032 时间2000006承德石油高等专科学校摘要:本程序通过调用JA V A提供的BorderLayout,Button,Color;Container;Graphics;Panel;ButtonGroup;JFrame;JPanel;UIManager等基本类进行了简单的界面设计,运用了JA V A中类的继承特性实现了对父类方法的调用,并多次使用CASE语句实现绘图菜单的选择,运用了适配器类简化了监听器类的重写工作。
关键字:UIManager、ActionListener1. 课程设计介绍本程序完成的是一个类似于Windows画图板的绘图程序。
由于不是开发和设计专业的绘图和图像制作软件,所以,完成的程序的简单功能包括以下几项:1.新建一个空白图形文件:用于绘制新的图形。
2.打开或保存一个图形文件,便于对图形文件的管理。
3.绘制一些基本的画图组件:直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等。
4.可以用鼠标在绘图面板上单击拖动进行随笔画。
5.橡皮擦:可以将已绘制好的图形擦掉。
6.添加文字:可以在绘图区域内添加文字。
7.选择文字的字体:通过一个下拉式的选择条,可以选中所需要的字体。
本程序中包括:宋体、隶书、华文彩云、仿宋_GB2312、华文行楷、方正舒体、Times New Roman、Serif、Monospaced、SonsSerif、Garamond。
当然,在下面的的程序分析中可以看到,由于我们灵活设置了字体数组,是的可以随意添加系统支持的任何字体。
大大方便和简化了程序设计。
8.选择文字的字体风格:通过两个复选框按钮,可以选择需要的字体风格,包括:粗体、斜体,使用者有三种选择方式,包括:①同时选中两者、②只选择其中一种、③两者都不选中。
Java程序设计GUI 图形用户界面PPT 课件,Java学习和备课必备资料
7
9.1 Swing 简介
9.1.1 窗体组件 JFrame 9.1.2 对话框组件 JDialog 9.1.3 对话框组件 JOptionPane 9.1.4 中间容器 JPanel 与 JscrollPane 9.1.5 标签组件 JLabel 9.1.6 文本组件 JTextField 与JTextArea
5
✓Swing包在图形界面设计上比AWT更丰富,更美观。Swing 拥有4倍于AWT的用户界面组件。 ✓是AWT包基础上的扩展,在很多情况下在AWT包的部件前 加上字母J即为Swing组件的名称,如:JFrame、JApplet、 JButton等。 ✓Swing组件都是AWT的Container类的直接子类或间接子类 。
17
9.1.3 对话框组件 JOptionPane
使用上面介绍的 JDialog 可以制作消息提示对话框、确定取消对话框等常用的对话框,但相 对来说要花费一些心思才能做出来,而 JOptionPane 组件直接提供了创建上述几种常用的对 话框的方法,大大方便了编程。 1.showMessageDialog()的静态方法弹出消息对话框,显示一条消息并等待用户确定。常用 的重载方法如下。
4、设置窗体的位置。setLocationRelativeTo(Component c):设置 窗体的相对位置。如果参数为 null,则窗体在屏幕中居中对齐。
5、如果希望在关闭窗体后程序可以随之停止,需要调用方法 setDefaultClose Operation()并传入参数 JFrame.EXIT_ON_CLOSE, 这句代码设置了关闭窗体后会停止程序的运行。 此外还有其他 3 个参数,简述如下。
口");。 2)带参的构造方法:用一个字符串作为参数,此字符串将成为窗体的标题。
java实验报告GUI与JDBC
java实验报告GUI与JDBCJava 实验报告:GUI 与 JDBC一、实验目的1、深入理解和掌握Java 图形用户界面(GUI)的设计和实现方法,能够使用常用的 GUI 组件创建具有交互功能的界面。
2、熟悉和掌握 Java 数据库连接(JDBC)技术,能够实现与数据库的连接、数据查询、插入、更新和删除等操作。
3、通过将 GUI 与 JDBC 结合,开发具有实际应用价值的数据库管理系统,提高综合运用 Java 知识解决实际问题的能力。
二、实验环境1、操作系统:Windows 102、开发工具:Eclipse IDE3、数据库:MySQL 80三、实验内容(一)GUI 设计1、创建一个简单的登录界面,包括用户名和密码输入框以及登录和取消按钮。
使用布局管理器对界面组件进行合理布局,使其美观、易用。
2、设计一个主界面,包含菜单、工具栏、列表框、文本框等组件。
实现菜单和工具栏的功能响应,如文件的打开、保存,数据的查询、添加、修改和删除等。
(二)JDBC 操作1、建立与 MySQL 数据库的连接,配置数据库驱动程序和连接参数。
2、实现对数据库中用户表的查询操作,将查询结果显示在列表框中。
3、完成用户信息的添加、修改和删除功能,并及时更新界面显示。
(三)GUI 与 JDBC 整合1、在登录界面中,验证用户输入的用户名和密码是否与数据库中的用户信息匹配。
若匹配成功,进入主界面;否则,提示登录失败。
2、在主界面中,通过菜单或工具栏触发相应的 JDBC 操作,实现对数据库的管理,并将操作结果实时反馈到界面上。
四、实验步骤(一)GUI 设计步骤1、创建一个新的 Java 项目,并在项目中创建一个新的 Java 类作为登录界面。
2、导入所需的 GUI 组件库,如`javaawt`和`javaxswing`。
3、使用`JFrame`类创建登录窗口,并设置窗口的标题、大小和位置等属性。
4、在窗口中添加用户名和密码输入框,使用`JTextField`类创建。
java窗体设计代码
java窗体设计代码一、介绍Java窗体设计是Java编程中的重要组成部分,它可以让程序具有更好的用户交互体验。
本文将介绍Java窗体设计的基本知识和代码实现。
二、Java窗体设计的基本知识1. JFrame类JFrame类是Java中用于创建窗口的类,它是Swing包中最常用的类之一。
在使用JFrame类时,需要先导入Swing包。
2. JPanel类JPanel类是Swing包中用于创建面板的类,它可以将多个组件放在一个容器中,方便管理和布局。
3. LayoutManager布局管理器LayoutManager布局管理器是用于控制组件在容器中排列位置和大小的工具。
常见的LayoutManager有FlowLayout、BorderLayout、GridLayout等。
4. 组件组件是指在窗体或面板上显示的各种元素,如按钮、标签、文本框等。
每个组件都有自己的属性和方法。
三、Java窗体设计代码实现1. 创建一个简单窗口import javax.swing.JFrame;public class SimpleWindow {public static void main(String[] args) {JFrame frame = new JFrame("Simple Window");frame.setSize(300, 200);frame.setVisible(true);}}2. 在窗口中添加一个按钮import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;public class ButtonWindow {public static void main(String[] args) {JFrame frame = new JFrame("Button Window"); JPanel panel = new JPanel();JButton button = new JButton("Click me!");panel.add(button);frame.add(panel);frame.setSize(300, 200);frame.setVisible(true);}}3. 使用BorderLayout布局管理器import java.awt.BorderLayout;import javax.swing.JButton;import javax.swing.JFrame;public class BorderLayoutWindow {public static void main(String[] args) {JFrame frame = new JFrame("BorderLayout Window");JButton button1 = new JButton("North");JButton button2 = new JButton("South");JButton button3 = new JButton("East");JButton button4 = new JButton("West");JButton button5 = new JButton("Center");frame.setLayout(new BorderLayout());frame.add(button1, BorderLayout.NORTH);frame.add(button2, BorderLayout.SOUTH);frame.add(button3, BorderLayout.EAST);frame.add(button4, BorderLayout.WEST);frame.add(button5, BorderLayout.CENTER);frame.setSize(300, 200);frame.setVisible(true);}}四、总结Java窗体设计是Java编程中的重要组成部分,它可以让程序具有更好的用户交互体验。
图形用户界面设计
中间容器(Jpanel)
1. 将组件添加到JFrame中 2. JPanel的使用
30
1、 将组件添加到JFrame中
方式之一: frame.getContentPane().add(childCom
ponent) 用getContentPane()方法获得JFrame的
内容面板,再对其加入组件,一般只使 用该方式添加组件。
Swing 是为了解决 AWT 存在的问题而 新开发的包,它以 AWT 为基础的。
10
上图列举了AWT和 Swing的关系,也可 以看出Swing是继承自AWT的。主要利 用Swing来设计图形化界面程序。
11
图形化界面设计—容器
1. Java基本类(JFC) 2. AWT和Swing的区别 3. Swing基本框架 4. 图形化设计步骤 5. 组件容器的使用
54
实例:
55
实例:
56
实例二:在中间位置中添加9个按钮
57
58
布局管理器之GRIDLAYOUT(网 格布局)
59
网格布局特点:
使容器中的各组件呈M行×N列的网格状分布。 网格每列宽度相同,等于容器的宽度除以网格
的列数。 网格每行高度相同,等于容器的高度除以网格
的行数。 各组件的排列方式为:从上到下,从左到右。 组件放入容器的次序决定了它在容器中的位置。 l容器大小改变时,组件的相对位置不变,大小
图形用户界面设计
1
Java图形化界面设计——容器 (JFrame)
2
程序是为了方便用户使用的,因此实现 图形化界面的程序编写是所有编程语言 发展的必然趋势,在命令提示符下运行 的程序可以让我们了解java程序的基本 知识体系结构,现在就进入java图形化 界面编程。
java JToolBar工具栏
java JToolBar工具栏
JToolBar的功能是用来放置各种常用的功能或控制组件(也就是常说的“工具栏”),这个功能在各类软件中都可以很轻易的看到。
在设计软件时,一般会将所有软件功能放置在菜单中(JMenu),但对于经常使用的一些功能,则通过菜单寻找将造成用户操作上的负担。
因此,若将一般常用的功能以工具栏方式呈现在菜单下,让用户很快得到他想要的功能,可以加速工作的运行效率。
条JToolBar常用构造方法如表9-25所示:
与JMenuBar不一样,JToolBar对象可以直接被添加到容器中。
JToolBar类常用方法如表9-26所示:
表9-26 JToolBar常用方法
本实例主要介绍在窗口中,如何添加工具栏及工具栏中的按钮。
为更加明白工
在代码中,通过“JToolBar toolBar = new JToolBar();”语句,创建一个工具栏对象。
然后,通过“toolBar.add(new JButton("新建"));”向工具栏中添加按钮。
在设计中,用户可以分别通过“toolBar.setFloatable(false);”和“toolBar.setRollover(true);”
设置工具栏中按钮的操作状态,如图9-19所示。
图9-19 添加工具栏。
用Java编写桌面应用程序
用Java编写桌面应用程序Java是一种广泛使用的编程语言,具有跨平台性和面向对象的特点,非常适合开发桌面应用程序。
通过Java编写的桌面应用程序可以运行在Windows、Mac、Linux等操作系统上,而不需要改变源代码。
在开始编写Java桌面应用程序之前,第一步是安装Java Development Kit(JDK),这是一个必需的开发工具包。
安装完成后,就可以使用Java编写应用程序了。
编写桌面应用程序的第一步是创建一个Java项目。
可以使用任何集成开发环境(IDE)来创建和管理Java项目,例如Eclipse、IntelliJ IDEA等。
在创建项目后,需要创建一个主类,其中包含一个main方法。
这个main方法是桌面应用程序的入口点,系统会从这个方法开始执行。
在开始编写应用程序主体之前,需要确定应用程序的需求和功能。
可以使用面向对象的编程思想,将程序拆分为多个类,并使用各种数据结构和算法来实现相关功能。
桌面应用程序可以包含各种用户界面元素,例如按钮、文本框、下拉菜单等,以及与这些界面元素交互的事件处理器。
Java提供了Swing和JavaFX等库来创建用户界面。
使用这些库可以轻松地创建各种界面元素,并在应用程序中进行布局和组织。
可以使用不同的布局管理器来定位和调整界面元素的位置和大小。
同时,Java的事件模型可以帮助我们监听和处理用户界面的各种事件,例如按钮点击、鼠标移动等。
除了用户界面,桌面应用程序通常需要与数据库、文件系统等外部资源进行交互。
Java提供了各种API和类来访问这些资源,例如JDBC用于访问数据库,IO和NIO用于文件操作等。
通过使用这些API,可以实现数据的存储、读取和操作,并将结果展示给用户。
在编写程序的过程中,需要考虑异常处理。
Java提供了异常处理机制,通过捕获和处理异常,可以保证程序的稳定性和可靠性。
可以使用try-catch块来捕获异常,并在遇到异常时执行相应的处理逻辑。
- 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");}}。