合肥学院Java实验六
- 格式:pdf
- 大小:166.63 KB
- 文档页数:9
p.add(a); add(p); this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){ Window w=(Window)e.getSource(); w.dispose();}});
p=new Panel(); b1=new Button("按钮 1"); b2=new Button("按钮 2"); a=new Label("这里可以显示按钮上的内容",Label.CENTER); a.setBackground(Color.cyan); b1.addActionListener(this); b2.addActionListener(this); p.add(b1); p.add(b2);
掌握 Java 图形 Swing 组件和布局管理器的使用;
掌握使用 Java 事件处理机制的使用。
掌握图形界面的各种控件的使用,如:标签、文本框、按钮、复选框、列表
框、窗框等。
二、实验要求:(详见指导书,宋体小四) 1.采用布局管理器进行界面的布局; 2. 学会对不同的事件用相应的事件处理器; 3.写出实验报告。要求记录编译和执行 Java 程序当中的系统错误信息提材示, 并给出解决办法。(附运行界面、源代码)。
通过 setLayout(new GridLayout(20,4,10,5));设置布局: 六、源代码及运行结果 package adeddsa; import java.awt.*; import java.awt.event.*;
public class dadc extends Frame implements ActionListener{ Panel p; Button b1,b2; Label a; public dadc(){
// 组件的创建、布局 … button1.addActionListener(this); //注册监听器 button2.addActionListener(this); button3.addActionListener(this); button4.addActionListener(this); } public void actionPerformed(ActionEvent e) //定义事件处理方法 { double a=Double.parseDouble(inputNumber1.getText());// 方 法 parseDouble() ,作用是把字符串转换为 Double。 double b=Double.parseDouble(inputNumber2.getText()); double c; if(e.getSource()==button1) { c=a+b;
panel5.add(feedBack); panel1.setBackground(Color.cyan);
panel2.setLayout(new GridLayout(4,1)); panel2.add(button1); panel2.add(button2); panel2.add(button3); panel2.add(button4);
feedBack.setText(String.valueOf(c)); //valueOf 是 Integer 类的一个静 态方法,它是把一个 string 参数转换为 Integer 类型
是 JTextArea 类的方法)
实验三;设计一个简单计算器,如下图所示。在“操作数”标签右侧的两个文 本框输入操作数,当单击操作符+,-,×,÷按钮时,对两个操作数进行运 算并将结果填入到“结果”标签右侧的文本框中。 设置一个面板,并设置面板的布局,在面板上添加三个标签和三个文本框,另 外设置一个面板,在上添加加减乘除四个按钮,对四个按钮设置监听, 通过 if(e.getSource()==button1) 的判断实施相应的计算方式, 实验四: 在 JFrame 中加入 80 个按钮,分 20 行 4 列,用 GridLayout 布局方式,按钮背 景为黄色(Color.yellow),按钮文字颜色为红色(Color.red)。
ctp.add(tf1);
ctp.add(lb2);
ctp.add(tf2);
tf1.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
String str;
str=tf1.getText( );
// 获 得 文 本 框 的 文 本 给 str( 此 方 法 是
2. package adeddsa; import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class c9_5 extends JApplet implements ActionListener
{
Container ctp=getContentPane( );
button1=new Button("+"); button2=new Button("-"); button3=new Button("*"); button4=new Button("/"); feedBack=new TextField("0",10); inputNumber1=new TextField(" ",8); inputNumber2=new TextField(" ",8); label1=new Label("操作数:"); label2=new Label("操作数:"); label3=new Label("结果:"); panel1=new Panel(); panel2=new Panel(); panel3=new Panel(); panel4=new Panel(); panel5=new Panel();
三、实验内容及过程:(宋体小四,) 实验一;
1. 编写 Application 程序,在 JFrame 中加入 2 个按钮(JButton)和 1 个标签 (Label),单击两个按钮,显示按钮的标签于 Label。
首先新建两个按钮,再新建一个面板,把两个按钮放在面板上,设置一个标签 对 这两 个标签设 置 监听 ,通过 String s=e.getActionCommand();的方法 , e.getSource() 返回的当前动作所指向的对象。
实验二; 在 JApplet 中加入 1 个文本框,1 个文本区,每次在文本框中输入文本,回车
后将文本添加到文本区的最后一行。
设置文本框一和文本框二,放在一个面板上,对第一个文本框实施监听, str=tf1.getText( ); tf2.setText(str); 将 str 添加到文本区域中(append 方法
《面向对象程序设计》实验报告
合肥院学院计算机科学与技术系 实验名称实验六 图形用户界面与事件处理机制(一)
_________________日期_________________
姓名/学号
专业/班级 软件工程一班
指导老师 成绩_______________________________ 一、实验目的:(详见指导书,宋体小四)
四、实验中的问题思考及讨论:(列出你实验中出现的问题,及解决的问题和解决的 思路) 实验一总结:
,通过 String s=e.getActionCommand();的方法,e.getSource() 返回的当前 动作所指向的对象。 实验二总结: str=tf1.getText( ); tf2.setText(str); 将 str 添加到文本区域中(append 方法 是 JTextArea 类的方法) 实验三总结: 通过 if(e.getSource()==button1)来获得按钮的名称 实验四总结: 通过 setLayout(new GridLayout(20,4,10,5));设置布局:
setBounds(100,100,400,400); setVisible(true);} public void actionPerformed(ActionEvent e){
String s=e.getActionCommand(); a.setText(s);} public static void main (String[] args){ new dadc(); }};
JTextComponent 类的方法)
// tf2.setText(str);
tf2.append(str+"\n"); // 将 str 添 加 到 文 本 区 域 中 (append 方 法 是
JTextArea 类的方法)
}
}Hale Waihona Puke 3. package adeddsa; import java.awt.*; import java.awt.event.*; //引入事件处理 event 包 import java.applet.*; public class Calculator extends Applet implements ActionListener 现监听接口 {TextField inputNumber1,inputNumber2,feedBack; Panel panel1,panel2,panel3,panel4,panel5; Button button1,button2,button3,button4; Label label1,label2,label3; public void init( ) //构造方法 {