Java实验报告布局管理器对组件进行管理

合集下载

JAVA基础:FlowLayout布局管理器

JAVA基础:FlowLayout布局管理器

在前⾯的例⼦中,使⽤到了FlowLayout布局管理器。

FlowLayout型布局管理器对容器中组件进⾏布局的⽅式是将组件逐个地安放在容器中的⼀⾏上。

⼀⾏放满后就另起⼀个新⾏。

FlowLayout有三种构造⽅法: public FlowLayout() public FlowLayout(int align) public F10wLayout(int align,int hgap,int vgap) 在默认情况下,FlowLayout将组件居中放置在容器的某⼀⾏上,如果不想采⽤这种居中对齐的⽅式,考试,⼤提⽰FlowLayout的构造⽅法中提供了⼀个对齐⽅式的可选项align。

使⽤该选项,可以将组件的对齐⽅式设定为左对齐或者右对齐。

align的可取值有FlowLayout.LEFT,FlowLayout.RIGHT和FlowLayout.CENTER三种形式,它们分别将组件对齐⽅式设定为左对齐、右对齐和居中,例如: new FlowLayout(FlowLayout.LEFT)这条语句创建了⼀个使⽤左对齐⽅式的FlowLayout的实例。

此外,FlowLayout的构造⽅法中还有⼀对可选项hgap和vgap,使⽤这对可选项可以设定组件的⽔平间距和垂直间距。

与其他布局管理器不同的是,FlowLayout布局管理器并不强⾏设定组件的⼤⼩,⽽是允许组件拥有它们⾃⼰所希望的尺⼨。

注意:每个组件都有⼀个getPreferredSize()⽅法,容器的布局管理器会调⽤这⼀⽅法取得每个组件希望的⼤⼩。

下⾯是⼏个使⽤setLayout()⽅法实现FlowLayout的例⼦: setLayout(new FlowLayout(FlowLayout.RIGHT,20,40)); setLayout(new FlowLayout(FlowLayout.LEFT)); setLayout(new FlowLayout());。

java课程设计实验报告

java课程设计实验报告

java课程设计实验报告一一实验目的加深学生对课堂讲授内容的理解,从计算机语言的基本概念、程序设计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良好基础。

在上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java语言程序设计的规律与技巧。

在对Java程序的调试过程中,提高学生分析程序中出现的错误与排除这些错误的能力。

通过上机实践,加深学生对计算机软件运行环境,以及对操作系统与计算机语言支持系统相互关系的了解。

二、实验要求(1)问题描述准确、规范;(2)程序结构合理,调试数据准确、有代表性;(3)界面布局整齐,人机交互方便;(4)输出结果正确;(5)正确撰写实验报告。

三、设计内容11、计算器计算器要有GUI界面,用户可以输入所需计算的数值,可以进行加、减、乘、除四种最基本的运算与混合运算,可以求一个数值的平方及倒数,可以进行阶乘运算,要能运算小数,并且不会产生精度损失,在必要情况下,可以进行四舍五入的运算。

允许正负数间的运算。

要求使用Applet实现该计算器,当用浏览器运行程序时,点击网页中的按钮,则计算器弹出,浮在网页上,再次点击按钮时,计算器消失。

22、文本编辑器可以设置文本的字体、大小、颜色等基本参数,可以读取计算机中TXT文件,可以生成一个新的TXT文件。

其她功能参照windows的文本编辑器。

四四.实验步骤(1)上机实验之前,为课程设计的内容作好充分准备。

对每次上机需要完成的任务进行认真的分析,画出程序流程图,手工写出符合任务要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。

(2)按照实验目的与实验内容进行上机操作。

录入程序,编译调试,反复修改,直到使程序正常运行,得出正确的输出结果为止。

(3)根据实验结果,写出实验报告。

五、、源代码及运行结果1.计算器源代码importjava、awt、*;importjava、awt、event、*;importjava、lang、*;importjavax、swing、*;publicclassjisuanqiextendsWindowAdapter{//创建三个面板Panelp1=newPanel();Panelp2=newPanel();Panelp3=newPanel();TextFieldtxt;privateButton[]b=newButton[21];privateStringss[]={"7","8","9","/","清空","4","5","6","*","1/x","1","2","3","-","平方","0","、","=","+","n!","关闭"};staticdoublea,sum=1;staticStrings,str;//定义变量创建对像//创建文本框publicstaticvoidmain(Stringargs[]){(newjisuanqi())、frame();}publicvoidframe(){//设置文本框的名称Framefm=newFrame("简单计算器");for(inti=0;i<=20;i++){b[i]=newButton(ss[i]);}for(inti=0;i<=19;i++){p2、add(b[i]);//创建按钮并添加到P2}//按钮20背景色黄色b[20]、setBackground(Color、yellow);txt=newTextField("");txt、setEditable(false);//不能编辑文本框里面的内容txt、setBackground(Color、white);for(inti=0;i<=20;i++){b[i]、addActionListener(newbuttonlistener());//添加监听器}//设置关闭按钮b[20]、addActionListener(newclose());fm、addWindowListener(this);p1、setLayout(newBorderLayout());//设置布局管理器p1、add(txt,"North");//p1面板放到区域南部p2、setLayout(newGridLayout(4,5,2,2));//布局:四行五列,间隔为二p2、setBackground(Color、red);p3、setLayout(newBorderLayout());p3、add(b[20]);将三个面板分别放到不同位置fm、add(p1,"North");fm、add(p2,"Center");fm、add(p3,"South");fm、pack();fm、setVisible(true);//都就是些窗中设置添加相关组件与监听器}publicvoidwindowClosing(WindowEvente){System、exit(0);//退出系统}classbuttonlistenerimplementsActionListener{//编写监听器事件通过按键得出给果publicvoidactionPerformed(ActionEvente){Buttonbtn=(Button)e、getSource();if(btn、getLabel()=="="){jisuan();str=String、valueOf(a);txt、setText(str);//显示当前数字s="";//清零}elseif(btn、getLabel()=="+"){//设置一个方法jisuan();txt、setText("");s="+";}elseif(btn、getLabel()=="-"){jisuan();txt、setText("");s="-";}elseif(btn、getLabel()=="/"){jisuan();txt、setText("");s="/";}elseif(btn、getLabel()=="*"){jisuan();txt、setText("");s="*";}elseif(btn、getLabel()=="平方"){a=Double、parseDouble(txt、getText()); a*=a;txt、setText(""+String、valueOf(a)); }elseif(btn、getLabel()=="n!"){a=Double、parseDouble(txt、getText());sum=1;for(inti=1;i<=a;i++)sum=sum*i;txt、setText(""+String、valueOf(sum));}elseifbtn、getLabel()=="1/x"){a=Double、parseDouble(txt、getText());txt、setText(""+String、valueOf(1/a));}else{txt、setText(txt、getText()+btn、getLabel()); if(btn、getLabel()=="清空")txt、setText("");}}publicvoidjisuan(){//编写具体计算方法if(s=="+")a+=Double、parseDouble(txt、getText()); elseif(s=="-")a-=Double、parseDouble(txt、getText()); elseif(s=="*")a*=Double、parseDouble(txt、getText()); elseif(s=="/")a/=Double、parseDouble(txt、getText()); elsea=Double、parseDouble(txt、getText()); }}}classcloseimplementsActionListener {//退出publicvoidactionPerformed(ActionEvente) {System、exit(0);}}、2、计算器运行界面(11)计算器主界面(22)面板的实现11、创建三个面板分别就是显示数字的面板、按钮的面板与“关闭”的面板Panelp1=newPanel();Panelp2=newPanel();Panelp3=newPanel();22、创建一个文本框参数TextFieldtxt;33、创建一群按钮参数并给按钮赋值privateButton[]b=newButton[21];privateStringss[]={"7","8","9","/","清空","4","5","6","*","1/x","1","2","3","-","平方","0","、","=","+","n!","关闭"};44、创建文本框publicstaticvoidmain(Stringargs[]){(newjisuanqi())、frame();}55、设置文本框方法publicvoidframe(){//设置文本框的名称Framefm=newFrame("简单计算器");66、设置按钮for(inti=0;i<=20;i++){b[i]=newButton(ss[i]);}77、设将按钮添加到面板for(inti=0;i<=19;i++){p2、add(b[i]);//创建按钮并添加到P2}88、设置按钮020背景色黄色b[20]、setBackground(Color、yellow);99、创建文本框,,并规定不能编辑内容与背景为白色txt=newTextField("");txt、setEditable(false);txt、setBackground(Color、white);10、为按钮添加监听器for(inti=0;i<=20;i++){b[i]、addActionListener(newbuttonlistener());//添加监听器}11、设置“关闭”按钮可以关闭界面并设置监听器b[20]、addActionListener(newclose());fm、addWindowListener(this);12、设置布局p1、setLayout(newBorderLayout());//设置布局管理器p1、add(txt,"North");//p1面板放到区域南部p2、setLayout(newGridLayout(4,5,2,2));//布局:四行五列,间隔为二p2、setBackground(Color、red);p3、setLayout(newBorderLayout());p3、add(b[20]);13、将三个面板分别放到不同位置fm、add(p1,"North");fm、add(p2,"Center");fm、add(p3,"South");fm、pack();fm、setVisible(true);//都就是些窗中设置添加相关组件与监听器}14、退出系统publicvoidwindowClosing(WindowEvente){System、exit(0);}(33)将按钮添加到计算这个事件中11、编写监听器事件通过按键得出给果publicvoidactionPerformed(ActionEvente){//将按钮赋予这个事件中Buttonbtn=(Button)e、getSource();22、如果点击“==”这个按钮,,将出现当前数字if(btn、getLabel()=="="){jisuan();str=String、valueOf(a);txt、setText(str);//显示当前数字s="";//清零}33、如果点击“++”“--”“**”“//”分别完成一个方法并将结果显示到文本框elseif(btn、getLabel()=="+"){//设置一个方法jisuan();txt、setText("");s="+";}elseif(btn、getLabel()=="-") {jisuan();txt、setText("");s="-";}elseif(btn、getLabel()=="/") {jisuan();txt、setText("");s="/";}elseif(btn、getLabel()=="*"){jisuan();txt、setText("");s="*";}44、如果点击“平方”则当前数字与原数字形成即完成相关方法结果显示最终的数字elseif(btn、getLabel()=="平方"){a=Double、parseDouble(txt、getText());a*=a;txt、setText(""+String、valueOf(a));//显示a}55、当输入“nn!”,,就用rfor循环完成阶乘,,此方法属于cc语言基础方法,,不做相关解释elseif(btn、getLabel()=="n!"){a=Double、parseDouble(txt、getText());sum=1;//归一for(inti=1;i<=a;i++)sum=sum*i;txt、setText(""+String、valueOf(sum));//文本框中显示“sum”的数值}66、当输入“1/x”时,,显示1/a。

布局窗口实验报告

布局窗口实验报告

一、实验目的通过本次实验,掌握Java Swing框架中常用的布局管理器,如FlowLayout、BorderLayout、GridLayout、GridBagLayout等,并学会如何使用这些布局管理器对窗口进行合理布局,提高GUI应用程序的界面设计能力。

二、实验环境1. 开发工具:Eclipse2. 开发语言:Java3. 环境配置:Java Development Kit(JDK)版本为1.8三、实验内容1. 流式布局(FlowLayout)2. 边界布局(BorderLayout)3. 网格布局(GridLayout)4. 网格袋布局(GridBagLayout)四、实验步骤1. 流式布局(FlowLayout)(1)创建一个窗口,并设置窗口标题为“FlowLayout”。

(2)在窗口中添加四个按钮,分别为“Button1”、“Button2”、“Button3”和“Button4”。

(3)设置窗口的布局管理器为FlowLayout。

(4)运行程序,观察窗口布局效果。

2. 边界布局(BorderLayout)(1)创建一个窗口,并设置窗口标题为“BorderLayout”。

(2)在窗口中添加四个标签,分别为“North”、“South”、“East”和“West”。

(3)设置窗口的布局管理器为BorderLayout。

(4)运行程序,观察窗口布局效果。

3. 网格布局(GridLayout)(1)创建一个窗口,并设置窗口标题为“GridLayout”。

(2)在窗口中添加四个按钮,分别为“Button1”、“Button2”、“Button3”和“Button4”。

(3)设置窗口的布局管理器为GridLayout,并设置每行和每列的组件数量为2。

(4)运行程序,观察窗口布局效果。

4. 网格袋布局(GridBagLayout)(1)创建一个窗口,并设置窗口标题为“GridBagLayout”。

Java实验报告布局管理器对组件进行管理

Java实验报告布局管理器对组件进行管理

Java程序设计实验报告学号班级姓名指导教师实验题目实验十六、图形用户界面51、实验目的1.熟悉主要的布局方式;2.学会使用布局管理器对组件进行管理。

2、实验内容1. 按以下图示设计布局2.3.3、程序清单:(粘贴源程序代码)1.import t.Color;import java.awt.Container;import java.awt.GridLayout;import ;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextArea;public class SHILIU1 {Container con;JFrame frame;SHILIU1(){frame=new JFrame();con=frame.getContentPane();con.setLayout(new GridLayout(1,2,3,3));con.add(new JIA());con.add(new D());frame.pack();frame.setVisible(true);}public static void main(String[] args) { new SHILIU1();}add(new JButton("按钮0"),BorderLayout.NORTH);add(new JButton("按钮4"),BorderLayout.SOUTH);add(new JButton("按钮1"),BorderLayout.WEST);add(new JButton("按钮2"),BorderLayout.EAST);add(new JButton("按钮3"),BorderLayout.CENTER);}}class C extends JPanel{C(){int i;setLayout(new GridLayout(3,3,3,3));for(i=0;i<9;i++)add(new JButton("按钮"+i));}}4、运行结果:(请粘贴结果图或未通过程序粘贴错误提示)1.2.3.5、实验总结:(对运行情况作分析,以及本次实验所取得的经验。

实验20 Java Swing的布局管理

实验20 Java Swing的布局管理

实验20 Java Swing的布局管理1、主要教学目标(1)掌握Java的AWT包和Swing包布局管理器;(2)理解JFrame类的FlowLayout布局管理器;(3)理解JFrame类中GridLayout布局管理器。

2、重点内容掌握JFrame类常见的布局管理器,利用布局管理器设置不同的组件的位置。

JFrame和JWindow这样的顶层框架来说,默认的布局管理器是边界布局(BorderLayout);JPanel默认的布局管理器为FlowLayout。

讲授内容一、S wing的布局管理§1.1 布局管理器Swing中管理组件位置的工具。

使用布局管理器可以合理的安排不同的组件的位置。

import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.SwingUtilities;class JFrame20 extends JFrame {public JFrame20() {initUI();}public final void initUI() {setLayout(null); //设置LayoutManager,默认的布局样式JButton ok = new JButton("OK");ok.setBounds(50, 50, 80, 25);JButton close = new JButton("Close");close.setBounds(150, 50, 80, 25);add(ok);add(close);setTitle("Button positioning");setSize(300, 250);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);}}public class App20_1 extends JFrame {public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {public void run() {JFrame20 ex = new JFrame20();ex.setVisible(true);}});}}图1:默认的布局管理器二、F lowLayout布局管理器FlowLayout布局管理器是最简单的布局管理器。

JAVA实验指导:布局管理器

JAVA实验指导:布局管理器

练习1:Frame的使用1、实验要求:创建并显示一个标题为“My Frame”,背景色为白色,大小为300×300的框架2、程序运行效果3、程序模板略练习2:面板的使用1、实验要求:创建并显示一个标题为“包含面板的Frame”,背景色为绿色,大小为800×800的框架。

该框架的中间位置放置一个颜色为黑色、大小为200×200的面板。

在该面板中放置一个按钮,按钮显示“请点击我”2、程序运行效果3、程序模板//按模板要求,将程序补充完整//text2.javapublic static void main(String[] args) {[代码1]//创建并显示一个标题为“包含面板的Frame”的Frame框[代码2] //背景色为绿色[代码3] //大小为800×800f.setLayout(null);JPanel pan=new JPanel();//该框架的中间位置创建放置一个面板[代码4]// 颜色为黑色[代码5] //大小为200×200[代码6] //将该面板添加到框架中[代码7]//在该面板中放置一个按钮,按钮显示“请点击我”[代码8] //将该按钮添加到面板中f.setVisible(true);}练习3:布局管理器的使用1、实验要求:创建并显示一个标题为“My Frame”,背景色为白色,大小为1000×1000的框架。

在该框架中放置八个按钮,按钮的标题分别为“按钮1”、……“按钮8”。

采用FlowLayout布局管理器。

2、程序运行效果3、程序模板//text3.java//参考书P122-123练习4:布局管理器的使用1、实验要求:编写一个java程序,在程序中生成一个框架窗口,设置窗口的布局管理器为网格式布局管理器,往窗口中加入9个按钮。

2、程序运行效果3、程序模板//text4.java//参考书P124练习5:按钮、标签、文本行、文本区实验要求:书P127。

谈谈Java中的布局管理器

谈谈Java中的布局管理器

55第2卷 第16期产业科技创新 2020,2(16):55~56Industrial Technology Innovation 谈谈Java 中的布局管理器潘国荣(常州刘国钧高等职业技术学校,江苏 常州 213025)摘要:布局管理器是Java 语言中编制图形用户界面程序的基础。

本文对布局管理器的概念、种类及常见用法进行了介绍。

关键词:Java ;图形用户界面;布局管理器中图分类号:TP311 文献标识码:A 文章编号:2096-6164(2020)16-0055-02在图形用户界面的程序设计中,首先要设计并编制好界面,然后才能写事件处理代码。

现在大多数支持GUI 编程的程序设计语言,如C#、.Net 都支持直接拖拉控件来编制界面,但是Java 语言暂不支持直接拖拉操作,它是通过独有的布局管理器用代码来实现界面编制的。

本文将就Java 语言中的布局管理器及使用方式作一论述。

1 布局管理器在Java 中,为了实现跨平台的特性并且获得动态的布局效果,Java 将容器内的所有组件安排给一个”布局管理器”负责管理,组件在容器中的布局,包括组件的位置和大小,通常由布局管理器负责安排。

常用的顶级容器有窗体JFrame、对话框JDialog,中间容器有面板JPanel,它们均有缺省布局管理器。

窗体JFrame 和对话框JDialog 的缺省布局管理器均为边界布局BorderLayout,面板JPanel 的缺省布局管理器为流式FlowLayout,面板JPanel 无法单独显示,必须添加到某个容器中。

2 常见布局管理器介绍2.1 流布局管理器FlowLayout对组件逐行定位,行内从左到右,一行排满后换行;默认对齐方式为居中对齐;不改变组件的大小,按组件原有尺寸显示组件,可在构造方法中设置不同的组件间距、行距及对齐方式。

见图1。

图1 流布局管理器2.2 边界布局管理器BorderLayout将整个容器布局划分成东、西、南、北、中五个区域,组件只能被添加到指定的区域;如不指定组件的加入部位,则默认加入到中心区域,是JFrame 的默认布局管理器。

java Swing实验报告

java Swing实验报告

《Java程序设计-实验报告》
计算机科学系级班
课程名:《Java程序设计》
姓名:
学号:
指导教师:
实验项目:“Java GUI程序设计”
实验目的:
1、熟悉和掌握java Swing的基本GUI程序设计,掌握如何构建一个窗口程序,并且窗口中添加常用的Swing组件,使用各种布局管理器来完成对窗口中的组件进行布局。

2、了解Java事件处理机制,掌握基本的事件处理机制的基本程序编写。

实验要求:
使用java语言完成相关程序设计要求,编写代码、调试、运行,将编写的程序写在题目要求后面,对结果进行分析、得出编程的结论和心得。

实验内容:(两个题目,二选一)
1、试着用Swing类库完成以下程序界面(自行截图,尽量与下面界面接近):
2、试着用Swing类库完成以下程序界面(自行截图,尽量与下面界面接近):
提交要求:独立完成以上各个程序,查询相关资料和文档完成以上程序设计,将最后做完的界面截图,摘抄部分关键程序语句,写出碰到的问题,如何接近,心得总结等,17周之内提交打印文档。

javaee实验报告总结

javaee实验报告总结

javaee实验报告总结以下是一份由Java EE实验报告总结所组成的文章:Java EE实验报告总结一、引言Java EE(Java Platform, Enterprise Edition)是Java平台的一部分,专门用于开发和部署企业级应用程序。

在本次实验中,我们学习了Java EE 的基本概念和各个组件的使用方法,并通过实践项目来巩固所学的知识。

本文将对实验过程与结果进行总结,并提出一些建议。

二、实验过程1. 实验目标本次实验旨在使学生了解Java EE的基本概念,掌握Servlet、JSP、EJB 等组件的开发与部署方法,以及使用Tomcat和Glassfish等服务器进行应用程序的部署。

2. 实验步骤本次实验分为三个阶段,分别是Servlet、JSP和EJB的开发与部署。

a. Servlet开发与部署首先,我们学习了Servlet的基本概念,并使用Eclipse IDE进行开发。

我们创建了一个HelloWorldServlet,并部署到Tomcat服务器上进行测试。

通过这个实验,我们深入理解Servlet的工作原理以及HTTP协议。

b. JSP开发与部署其次,我们学习了JSP的基本语法和用法,并结合Servlet进行动态网页的开发。

我们创建了一个简单的登录页面,并使用JSP和Servlet实现用户登录功能。

这个实验使我们熟悉了JSP的模板引擎特性以及与Java代码的交互方式。

c. EJB开发与部署最后,我们学习了EJB(Enterprise JavaBeans)的基本概念和使用方法。

我们创建了一个简单的用户管理系统,使用EJB实现对用户信息的增删改查功能。

通过这个实验,我们了解了EJB的分层和事务管理的特性。

3. 实验结果通过本次实验,我们成功完成了三个阶段的开发与部署,并测试了各个组件的功能。

我们的应用程序能够正确地响应用户请求并返回相应的结果。

实验结果表明,所学习的Java EE知识能够实现企业级应用的开发需求。

JAVA布局管理

JAVA布局管理

JAVA布局管理————————————————————————————————作者:————————————————————————————————日期:JA V A布局管理一、FlowLayout(流布局管理):其组件的放置规律是从上到下,从左到右依次进行放置。

构造方法有下列几种:1.F lowLayout():创建每行组件居中对齐、组件间距为5个像素单位。

2.F lowLayout(int align):创建指定每行的对齐方式、组件间距为5个像素单位。

align取值表示组件的对齐方式:CENTER(居中对齐),LEFT(左对齐),RIGHT(右对齐)。

二、BorderLayout(边框布局管理):将容器分为上、下、左、右、中五个区域,分别对应North(北区),South(南区),West(西区),East(东区)和Center(中区)。

用add(component,index)方法向容器中添加组件,其中第二个参数指明组件位置,其取为:BorderLayout.North,BorderLayout.South,BorderLayout.East,BorderLayout.West,BorderLayout.Center。

其构造方法有中下几种:1.B orderLayout():创建组件间无间距的布局对象。

2.B orderLayout(int hgap,int vgap):创建指定组件间距的布局对象。

三、GridLayout(网格布局管理器):将容器分成尺寸相同的网格,组件被放在网格的空白处,顺序与流式布局一样。

网格中组件大小相同。

其构造方法有下列几种:1.GridLayout()以每行一列的方式构建一个GridLayout对象。

2.GridLayout(int row,int columns):根据指定行数和列数构造一个GridLayout对象,组件间距为0。

3.GridLayout(int row,int columns,int hgap,int,vgap): 根据指定行数和列数构造一个GridLayout对象,组件间距按指定值设置。

实验四Java布局管理和java的事件

实验四Java布局管理和java的事件

Java 实验日志指导教师实验时间:2010 年月日学院计算机专业计算机科学与技术班级3110802 学号08600201 姓名张梦实验室S实验题目:Java 布局管理和 java的事件实验目的:1. 掌握 Java语言中几种布局管理器。

2. 能熟练综合运用这几种布局管理器设计复杂的图形界面。

3. 理解事件的概念。

4. 能熟练使用 Java 提供的事件处理方法,进行符合要求的事件处理实验要求:结合多种布局管理器设计一个复杂的图形界面。

掌握 Java提供的各种事件接口,并能灵活使用。

实验主要步骤:1.用BorderLayout和GridLayout布局管理器设计一个如下图所示的图形界面:2.在记事本编辑如下源程序:import java.awt.*;public class Ex9_1 {private Frame demoframe;private Button b1;private Button b2;private Button b3;private Button b4;private Panel cpanel;private Button b[];public void Init() {demoframe =new Frame("布局管理器");b1 =new Button("确定");demoframe.add(b1,"East");b2 =new Button("取消");demoframe.add(b2,"West");b3 =new Button("Hello,");demoframe.add(b3,"North");b4 =new Button("Java!......");demoframe.add(b4,"South");cpanel =new Panel();cpanel.setLayout(new GridLayout(3,3,7,7));demoframe.add(cpanel,"Center");b =new Button[9];for(int i=0;i<9;i++){b[i] =new Button();b[i].setSize(50,50);b[i].setLabel(Integer.toString(i));cpanel.add(b[i]);}demoframe.pack();demoframe.setVisible(true);}public static void main(String[] args) {Ex9_1 demo =new Ex9_1();demo.Init();}}3.保存程序Ex9_1.java,编译运行程序。

java组件及事件处理实验总结

java组件及事件处理实验总结

Java组件及事件处理实验总结一、实验目的本次实验旨在深入理解Java组件及事件处理机制,掌握Java Swing框架的使用,熟悉Java GUI应用程序的开发流程,提高解决实际问题的能力。

二、实验内容1.组件介绍与使用在实验中,我们学习了Java的GUI组件,包括标签(JLabel)、按钮(JButton)、文本框(JTextField)等。

通过实例化组件、设置属性、添加事件监听器等操作,我们了解了如何将这些组件用于构建GUI应用程序。

2.事件处理机制我们学习了Java的事件处理机制,包括事件监听器、事件对象等。

通过实现ActionListener接口,我们学会了如何处理按钮点击、菜单项选择等事件。

在实验中,我们还学习了如何创建自定义事件及其监听器。

3.布局管理器布局管理器是用于控制组件在容器中排列的机制。

在实验中,我们学习了常见的布局管理器,如流式布局(FlowLayout)、边框布局(BorderLayout)和卡片布局(CardLayout)等。

通过使用不同的布局管理器,我们了解了如何优化组件的布局,提高用户界面的友好性。

4.菜单与工具栏在实验中,我们学习了如何创建菜单和工具栏,并添加了相应的菜单项和按钮。

通过实现ActionListener接口,我们学会了如何处理菜单项选择和工具栏按钮点击事件。

5.事件分派机制我们还学习了Java的事件分派机制,即事件是如何从源组件传递到目标组件的。

通过分析示例程序,我们了解了事件分派机制的核心概念,如事件源、事件监听器、事件对象等。

三、实验总结通过本次实验,我们深入理解了Java组件及事件处理机制,掌握了Java Swing框架的使用。

实验中,我们不仅学习了基本组件的使用和事件处理机制,还学习了如何优化组件布局、创建菜单和工具栏等高级操作。

此外,我们还对Java的事件分派机制有了更深入的了解。

在实验过程中,我们遇到了一些问题,如组件重叠、事件处理程序无法正常工作等。

java实验报告GUI与JDBC

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中的布局管理器

前言随着Internet的飞速发展,Java技术也得到了越来越广泛的应用。

而无论我们是采用J2SE、J2EE还是J2ME,GUI都是不能回避的问题。

现在的应用软件越来越要求界面友好、功能强大而又使用简单。

而众所周知,在Java中进行GUI设计相对于其跨平台、多线程等特性的实现要复杂和麻烦许多。

这也是很多Java程序员抱怨的事情。

但GUI 已经成为程序发展的方向,所以我们也必须了解Java的GUI设计方法和特点。

其实,采用Java提供的布局管理器接口和相应的布局管理类,我们也可以做出相当漂亮的界面来,当然实现起来肯定要比VB麻烦许多。

本文试图通过自己的开发经历介绍一些具体的应用实例,希望能给那些曾经象我一样苦闷的Java痴迷者一些帮助。

2 Java中的布局管理器2.1 为什么要使用布局在实际编程中,我们每设计一个窗体,都要往其中添加若干组件。

为了管理好这些组件的布局,我们就需要使用布局管理器。

比如说,设计一个简单的计算器,或一个文本编辑器等等。

这些组件是让JVM 自己任意安排呢?还是按照一定的位置关系进行规范的安排呢?当然应该选择后者。

将加入到容器的组件按照一定的顺序和规则放置,使之看起来更美观,这就是布局。

在Java中,布局由布局管理器(LayoutManager) 来管理。

那么,我们在什么时候应该使用布局管理器?应选择哪种布局管理器?又该怎样使用布局管理器呢?如果你写的是GUI程序,在使用AWT/Swing组件时就不应硬性设置组件的大小和位置,而应该使用Java的布局管理器(LayoutManager)来设置和管理可视组件的大小和位置,否则就有可能造成布局混乱。

不信,你可以新建一个Frame(或JFrame),通过setBounds()方法往其中添加几个Button(或JButton),一旦你将窗体拉大或缩小时,你会发现组件的排列完全不是按你所预想的那样。

为了解决这个问题,即当窗体(或容器)缩放时,组件位置也随之合理调整,我们就需要使用布局管理器。

实验四Java布局管理和java的事件

实验四Java布局管理和java的事件

Java 实验日志指导教师实验时间:2010 年月日学院计算机专业计算机科学与技术班级3110802 学号08600201 姓名张梦实验室S实验题目:Java 布局管理和 java的事件实验目的:1. 掌握 Java语言中几种布局管理器。

2. 能熟练综合运用这几种布局管理器设计复杂的图形界面。

3. 理解事件的概念。

4. 能熟练使用 Java 提供的事件处理方法,进行符合要求的事件处理实验要求:结合多种布局管理器设计一个复杂的图形界面。

掌握 Java提供的各种事件接口,并能灵活使用。

实验主要步骤:1.用BorderLayout和GridLayout布局管理器设计一个如下图所示的图形界面:2.在记事本编辑如下源程序:import java.awt.*;public class Ex9_1 {private Frame demoframe;private Button b1;private Button b2;private Button b3;private Button b4;private Panel cpanel;private Button b[];public void Init() {demoframe =new Frame("布局管理器");b1 =new Button("确定");demoframe.add(b1,"East");b2 =new Button("取消");demoframe.add(b2,"West");b3 =new Button("Hello,");demoframe.add(b3,"North");b4 =new Button("Java!......");demoframe.add(b4,"South");cpanel =new Panel();cpanel.setLayout(new GridLayout(3,3,7,7));demoframe.add(cpanel,"Center");b =new Button[9];for(int i=0;i<9;i++){b[i] =new Button();b[i].setSize(50,50);b[i].setLabel(Integer.toString(i));cpanel.add(b[i]);}demoframe.pack();demoframe.setVisible(true);}public static void main(String[] args) {Ex9_1 demo =new Ex9_1();demo.Init();}}3.保存程序Ex9_1.java,编译运行程序。

软件专业研究生实验报告

软件专业研究生实验报告

实验名称:基于Java的图形用户界面设计一、实验目的1. 熟悉Java图形用户界面设计的基本概念和常用组件。

2. 掌握Swing库的使用,能够设计简单的图形用户界面。

3. 培养编程实践能力,提高问题解决能力。

二、实验环境1. 操作系统:Windows 102. 开发工具:Eclipse IDE for Java Developers3. 编程语言:Java4. 开发库:Swing库三、实验内容1. 创建一个简单的图形用户界面,包括窗口、按钮、标签、文本框等组件。

2. 实现按钮点击事件,输出信息到控制台。

3. 设计一个带有滚动条的面板,展示大量数据。

4. 使用布局管理器(如FlowLayout、BorderLayout、GridLayout等)对界面进行布局。

四、实验步骤1. 创建一个名为“GUIProject”的Java项目,在Eclipse中导入Swing库。

2. 创建一个名为“MainFrame”的类,继承自JFrame类,作为主窗口。

3. 在“MainFrame”类中,添加以下代码:```javaimport javax.swing.;import java.awt.;public class MainFrame extends JFrame {public MainFrame() {// 设置窗口标题setTitle("图形用户界面设计");// 设置窗口大小setSize(500, 400);// 设置关闭操作setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置布局管理器setLayout(new BorderLayout());// 创建按钮JButton button = new JButton("点击我");// 添加按钮到窗口add(button, BorderLayout.CENTER);// 添加事件监听器button.addActionListener(e -> {System.out.println("按钮被点击了!");});}public static void main(String[] args) {// 创建窗口实例MainFrame frame = new MainFrame();// 显示窗口frame.setVisible(true);}}```4. 修改“MainFrame”类,添加滚动条和标签:```javaimport javax.swing.;import java.awt.;public class MainFrame extends JFrame {public MainFrame() {// ...(省略其他代码)// 创建面板JPanel panel = new JPanel();// 设置布局管理器panel.setLayout(new GridLayout(0, 1));// 创建标签JLabel label = new JLabel("这是一个标签");// 添加标签到面板panel.add(label);// 创建滚动条JScrollPane scrollPane = new JScrollPane(panel); // 添加滚动条到窗口add(scrollPane, BorderLayout.CENTER);}// ...(省略其他代码)}```5. 运行程序,观察效果。

JAVA实验报告

JAVA实验报告

实验报告一、实验目的1、熟悉常用控件的用法2、掌握布局管理器的使用3、能够设置简单的图形应用程序4、了解事件处理的基本概念及机制5、掌握事件处理的几种方式二、实验内容一、用布局管理器实现如下效果:三、实验步骤一.实现第一个窗体——主窗口。

使用菜单实现的方法,程序如下:import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class MenuWindow extends JFrame implements ActionListener{ private JPopupMenu popup;private JTextArea text;private JScrollPane scrollPane;private JMenuBar menuBar;private JMenuItem menuItem;private JMenu menu,subMenu;private JCheckBoxMenuItem cbMenuItem;private JRadioButtonMenuItem rbMemuItem1,rbMenuItem2;public MenuWindow (){super("Enterprise MIS");setSize(500,400);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);ImageIcon icon=new ImageIcon("950.jpg");Image image=icon.getImage();setIconImage(image);Container cp = getContentPane();text = new JTextArea(5,30);JLabel label = new JLabel(icon);cp.add(label);menuBar = new JMenuBar();setJMenuBar(menuBar);menu = new JMenu("系统");menuBar.add(menu);menu = new JMenu("企业管理");menuBar.add(menu);menu = new JMenu("员工管理");menuBar.add(menu);menuItem = new JMenuItem("增加");menuItem.addActionListener(this);menu.add(menuItem);menuItem = new JMenuItem("删除");menu.add(menuItem);menuItem = new JMenuItem("修改");menu.add(menuItem);menuItem = new JMenuItem("查询");menu.add(menuItem);menu = new JMenu("统计汇总");menuBar.add(menu);}public void actionPerformed(ActionEvent e){String arg = e.getActionCommand();if(arg.equals("增加")){JFrame frame=new OutWindow ();frame.setVisible(true);}}public static void main(String[]args){JFrame.setDefaultLookAndFeelDecorated(true);JFrame frame = new MenuWindow ();frame.show();}}二.实现第二个窗体——弹出窗口。

实验十三 GUI布局管理与常用组件

实验十三 GUI布局管理与常用组件

实验十三GUI布局管理与常用组件一、实验目的掌握GUI的四种基本布局管理器和常用组件的添加和使用。

二、实验要求1、设计和实现Java图形界面应用程序。

2、掌握Java布局管理器的设置方法,学会在不同的窗口中填加各种组件。

3、设计并分析程序,写出本实验的收获。

三、实验内容图形用户界面概述,布局管理器,常用标准GUI 组件和Swing GUI组件。

运行并理解教材案例7-5—7-7,完成以下实验任务。

四、参考程序1、/**周边布局及组件*/import java.awt.*;import javax.swing.*;class A extends JFrame{public static void main(String[] args){JFrame a=new JFrame();Container c=a.getContentPane();c.setLayout(new BorderLayout());c.add(new JButton("1"),BorderLayout.NORTH);c.add(new JButton("2"),BorderLayout.SOUTH);c.add(new JButton("3"),BorderLayout.EAST);c.add(new JButton("4"),BorderLayout.WEST);c.add(new JButton("5"),BorderLayout.CENTER);a.setSize(300,200);a.show();}}五、实验任务1、AWT主要由哪几部分组成?2、AWT中的布局管理器有哪几个?3、AWT、Swing和SWT的区别与联系?4、在容器底部放置一个按钮,不论如何改变容器尺寸,按钮始终在底部,那布局管理器使用最简单?5、完成课后实验一、三、四的除事件处理外的用户界面部分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
con.add(pan,BorderLayout.CENTER);
con.add(pan1,BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
}
publicvoidactionPerformed(ActionEvent e){
if(e.getSource()==but1)
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
publicclassSHILIU3implementsActionListener {
add(newLabel("Label2"), BorderLayout.WEST);
add(newButton("show str"), BorderLayout.EAST);
add(newJTextArea(), BorderLayout.CENTER);
setSize(300,200);
setVisible(true);
}
publicstaticvoidmain(String[] args) {
newSHILIU2();
}
}
3.
importjava.awt.BorderLayout;
importjava.awt.CardLayout;
importjava.awt.Container;
importjava.awt.GridLayout;
pan1.add(but1);
pan1.add(but2);
pan1.add(but3);
pan.setLayout(c);
pan.add(newA(),"1");
pan.add(newB(),"2");
pan.add(newC(),"3");
con.setLayout(newBorderLayout(3,3));
inti;
setLayout(newGridLayout(3,3,3,3));
for(i=0;i<9;i++)
add(newJButton("按钮"+i));
}
}
4、运行结果:(请粘贴结果图或未通过程序粘贴错误提示)
1.
2.
3.
5、实验总结:(对运行情况作分析,以及本次实验所取得的经验。如程序未能通过,应分析错误原因。)
inti;
for(iБайду номын сангаас0;i<12;i++)
add(newJButton(a[i]));
}
}
2.
importjava.awt.BorderLayout;
importjava.awt.Button;
bel;
importjavax.swing.JFrame;
importjavax.swing.JTextArea;
c.show(pan,"1");
if(e.getSource()==but2)
c.show(pan,"2");
if(e.getSource()==but3)
c.show(pan,"3");
}
publicstaticvoidmain(String[] args) {
newSHILIU3();
}
}
classAextendsJPanel{
pan.setLayout(newGridLayout(4,1));
f=newJTextArea();
f.setBackground(Color.pink);
setLayout(newGridLayout(1,2,3,3));
String a[]={"加","减","乘","除"};
inti;
for(i=0;i<4;i++)
pan.add(newJButton(a[i]));
add(f);
add(pan);
}
}
classDextendsJPanel{
D(){
String a[]={"0","1","2",
"3","4","5",
"6","7","8",
"9",".","del"};
setLayout(newGridLayout(4,3));
Java程序设计实验报告
学号
班级
姓名
指导教师
实验题目
实验十六、图形用户界面5
1、实验目的
1.熟悉主要的布局方式;
2.学会使用布局管理器对组件进行管理。
2、实验内容
1.按以下图示设计布局
2.
3.
3、程序清单:(粘贴源程序代码)
1.
importjava.awt.Color;
importjava.awt.Container;
publicclassSHILIU2extendsJFrame{
SHILIU2(){
setLayout(newBorderLayout());
add(newLabel("Label1"), BorderLayout.NORTH);
add(newButton("exit"), BorderLayout.SOUTH);
add(newJButton("按钮1"),BorderLayout.WEST);
add(newJButton("按钮2"),BorderLayout.EAST);
add(newJButton("按钮3"),BorderLayout.CENTER);
}
}
classCextendsJPanel{
C(){
importjava.awt.GridLayout;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.JTextArea;
publicclassSHILIU1 {
pan1=newJPanel();
but1=newJButton("流式布局");
but2=newJButton("边界布局");
but3=newJButton("网格布局");
but1.addActionListener(this);
but2.addActionListener(this);
but3.addActionListener(this);
Containercon;
JFrameframe;
JPanelpan,pan1;
JButtonbut1,but2,but3;
CardLayoutc;
SHILIU3(){
c=newCardLayout();
frame=newJFrame();
con=frame.getContentPane();
pan=newJPanel();
A(){
inti;
for(i=0;i<5;i++)
add(newJButton("按钮"+i));
}
}
classBextendsJPanel{
B(){
setLayout(newBorderLayout(3,3));
add(newJButton("按钮0"),BorderLayout.NORTH);
add(newJButton("按钮4"),BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
}
publicstaticvoidmain(String[] args) {
newSHILIU1();
}
}
classJIAextendsJPanel{
JTextAreaf;
JPanelpan;
JIA(){
pan=newJPanel();
Containercon;
JFrameframe;
SHILIU1(){
frame=newJFrame();
con=frame.getContentPane();
con.setLayout(newGridLayout(1,2,3,3));
con.add(newJIA());
con.add(newD());
相关文档
最新文档