JAVA实验报告
实验单元八
【实验目的】
1、了解AWT与Swing的关系。
2、掌握组件、容器、布局管理器的概念。
3、了解JLable组件及JButton组件,并可以通过设置显示文字风格及显示图像。
4、了解事件处理作用及实现机制。
5、了解文本框组件、密码框组件、文本域组件的使用。
6、了解单选按钮、复选框、列表框、下拉列表框等常见组件的使用及事件处理。
7、了解菜单组件及文件选择组件的使用。
8、了解表格的建立,并可以使用TableModel构建一个表格。 【实验环境】
安装了JDK软件的PC机。 【实验内容】
第十八章的例题和习题。 第一题(P698例18.1) 【程序功能内容说明】 创建一个新的窗体 【实验程序原码】
import javax.swing.JFrame ; import java.awt.Color ; public class JFrameDemo01{
public static void main(String args[]){
JFrame f = new JFrame(\第一个Swing窗体\f.setSize(230,80) ;
// 设置组件的大小
} };
f.setBackground(Color.WHITE) ; // 将背景设置成白色
f.setLocation(300,200) ; // 设置组件的显示位置 f.setVisible(true) ;
// 让组件可见
【实验结果】
【该程序关键技术说明】
以上程序运行之后,会直接显示出一个窗体,可以发现此窗体的标题就是在实例化JFrame是设置的标题,底色为白色,通过setSize()方法设置了其显示的大小。
第二题(P701 例18.3) 【程序功能内容说明】 使用一个标签 【实验程序原码】
import java.awt.Dimension ; import java.awt.Color ; import java.awt.Point ; import javax.swing.JLabel ; import javax.swing.JFrame ; public class JLabelDemo01{
public static void main(String args[]){
JFrame frame = new JFrame(\
JLabel lab = new JLabel(\// 实例化标签对象 frame.add(lab) ; // 将组件件入到面板之中 Dimension dim = new Dimension() ;
};
}
frame.setBackground(Color.WHITE) ;//设置窗体的背景颜色 dim.setSize(200,70) ; frame.setSize(dim) ;
Point point = new Point(300,200) ; // 设置坐标 frame.setLocation(point) ; frame.setVisible(true) ;
【实验结果】
【该程序关键技术说明】
以上程序中,实例化了一个Jlabel对象,并指定内容以及对齐方式,之后将此组件加入到了容器中,并进行显示。 第三题(P708 例18.9) 【程序功能内容说明】 设置FlowLayout 【实验程序原码】
import java.awt.FlowLayout ; import javax.swing.JFrame ; import javax.swing.JButton ;
public class FlowLayoutDemo01{
public static void main(String args[]){
JFrame frame = new JFrame(\ frame.setLayout(new FlowLayout(FlowLayout.CENTER,3,3)) ; JButton but = null ; for(int i=0;i<9;i++){
};
}
}
but = new JButton(\按钮-\frame.add(but) ;
frame.setSize(280,123) ; frame.setVisible(true) ;
【实验结果】
【该程序关键技术说明】
从程序的运行结果中可以发现,所有组件按照顺序依次向下排列,每个组件之间的间距是3. 第四题(P714例18.14) 【程序功能内容说明】 JPanel的基本使用 【实验程序原码】 import javax.swing.JPanel ; import javax.swing.JButton ; import javax.swing.JLabel ; import javax.swing.JFrame ; public class JPanelDemo01{ 象
public static void main(String args[]){
JFrame frame = new JFrame(\实例化窗体对
};
}
JPanel pan = new JPanel() ; // 准备好了一个面板
// 现在所有的内容都加入到了JPanel之中 pan.add(new JLabel(\标签-A\pan.add(new JLabel(\标签-B\pan.add(new JLabel(\标签-C\pan.add(new JButton(\按钮-X\pan.add(new JButton(\按钮-Y\pan.add(new JButton(\按钮-Z\
frame.add(pan) ;// 将面板加入到窗体之上 frame.pack() ;// 根据组件自动调整大小 frame.setLocation(300,200) ; frame.setVisible(true) ;
【实验结果】
【该程序关键技术说明】
从程序的运行结果中可以发现,所有的组件是采用顺序的形式加入到JPanel中,最后再将JPanel加入到JFrame中。 第五题(P781 习题第1题) 【程序功能内容说明】
编写程序:在文本框中输入一个浮点型华氏温度,根据下面的公式将其转化成摄氏温度并输出: 摄氏温度=(华氏-32)*5 / 9 【实验程序原码】 import java.awt.Font;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter;
JAVA实验报告第十八章图形界面



