Java实验报告布局管理器对组件进行管理
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程序的调试过程中,提高学生分析程序中出现的错误与排除这些错误的能力。
通过上机实践,加深学生对计算机软件运行环境,以及对操作系统与计算机语言支持系统相互关系的了解。
二、实验要求(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程序设计实验报告学号班级姓名指导教师实验题目实验十六、图形用户界面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的布局管理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实验指导:布局管理器

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

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程序设计-实验报告》
计算机科学系级班
课程名:《Java程序设计》
姓名:
学号:
指导教师:
实验项目:“Java GUI程序设计”
实验目的:
1、熟悉和掌握java Swing的基本GUI程序设计,掌握如何构建一个窗口程序,并且窗口中添加常用的Swing组件,使用各种布局管理器来完成对窗口中的组件进行布局。
2、了解Java事件处理机制,掌握基本的事件处理机制的基本程序编写。
实验要求:
使用java语言完成相关程序设计要求,编写代码、调试、运行,将编写的程序写在题目要求后面,对结果进行分析、得出编程的结论和心得。
实验内容:(两个题目,二选一)
1、试着用Swing类库完成以下程序界面(自行截图,尽量与下面界面接近):
2、试着用Swing类库完成以下程序界面(自行截图,尽量与下面界面接近):
提交要求:独立完成以上各个程序,查询相关资料和文档完成以上程序设计,将最后做完的界面截图,摘抄部分关键程序语句,写出碰到的问题,如何接近,心得总结等,17周之内提交打印文档。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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());