当前位置:文档之家› 实验报告(五)GUI程序设计(完整代码)

实验报告(五)GUI程序设计(完整代码)

add(panel,BorderLayout.SOUTH);
add(jsp,BorderLayout.EAST);
add(fileTextBorderLayout.CENTER); jButton.addActionListener( ActionListener(){
@Override
public void actionPerformed(ActionEvent ee) {
// Get file name from the text field
StringfileName =jtfFilename.getText().trim();
jtaFile.setText("");
try{
// Create Socket
Socket socket =newSocket(IP_ADDRESS,PORT_NUMBER);
import javax.swing.JTextField;
public class
OpenFileFrame {
JTextField textFiled;TextArea fileText;
public OpenFileFrame()
{
super("Exp__GUI");
Panel panel=new Panel();
java.io.Inputream;
import java.io.Reader;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
1、界面设计
CENTER
// Add jtaFile to a scroll pane
JScrollPanejsp =newJScrollPane(jtaFile);
SOUTH
Filename View
WEST
CENTER
EAST
2、界面实现
// Panel p to hold a label, a text field, and a button
System.err.println("Don't know about host: taranis. ");
}
catch(IOException ex) {
System.out.println(ex.getMessage());
}
finally{
}
textFiled=new JTextField();
JButtons~jButton=new~JButton("View");panel.add(jlabel,BorderLayout.WEST);panel.add(textFiled,BorderLayout.CENTER);panel.add(jButton,BorderLayout.EAST);
out.println(fileName);
Stringstr;
while((str = in.readLine()) !=null) {
jtaFile.append(str +'\n');
}
out.close();
in.close();
socket.close();
}
catch(UnknownHostException e) {
{
String string =reader.readLine();
fileText.append(string +"\r\n");
}
reader.close();
}
catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
输入:
预期输出:
实际输出:
分析
六、实验结果
用与测试用例不同的输入数据运行算法,写出得到的结果,并分析结果是否正确。
输入:
输出结果:
结果分析:
七、总结
对上机实验结果进行分析、上机的心得体会及改进意见。
附录:
如果原来的算法中发现了错误,在附录中附上改正后的算法实现。
privatevoidshowFileFromServer() {
// TODO Auto-generated method stub
Stringstr=textFiled.getText();
BufferedReader reader;
try {
reader = new Buffered(new FileReader(str));
String s="";
while((s=reader.readLine())!=null)
三、实验环境
1.硬件环境:
2.软件环境:JDK1.5
四、算法描述及实验步骤
1.算法描述(可以用类图、流程图、伪代码或源程序描述)
2.实验步骤
界面设计与实现
事件驱动程序设计
进行编译
进行测试,使用的测试用例:
输入:预期输出:
五、调试过程
1.编译过程
记录算法实现中发现的语法错误及改正
2.调试过程
记录算法实现中发现的逻辑错误及改正,对每个测试用例,记录实际输出,并与预期输出进行比较,如果不同,分析产生错误的原因并改正。
package com.fafu.training;
import java.awt.BorderLayout;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
e1.printStackTrace();
}ቤተ መጻሕፍቲ ባይዱ
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
setVisible; setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileOutputStream; import java.io.FileReader;
import java.io.IOException; import
Panel p =newPanel();
p.setLayout(newBorderLayout());
p.add(newLabel("Filename"), BorderLayout.WEST);
p.add(jtfFilename, BorderLayout.CENTER);
p.add(jbtView, BorderLayout.EAST);
福建农林大学计算机与信息学院实验报告

软件工程
专业
年级
11级
成绩
姓名
学号
实验室
机号
实验时间
教师签字
实验(五)
一、实验目的和要求
1.掌握简单GUI的设计和实现
2.理解并掌握GUI事件驱动的程序设计
3.理解网络程序设计
二、实验内容和原理
实现一个程序,用于浏览用户指定的文本文件。界面如图1所示:
图1文本文件浏览的用户界面
/**HandletheViewbutton*/
publicvoidactionPerformed(ActionEvent e) {
if(e.getSource() ==jbtView)
showFile();//自己实现这个方法,在textArea中浏览文本文件内容
}
});
4、网络程序设计(可选)
实现一个网络服务,用于把指定的文件内容传给客户端(见Exp_5_Server.java),在“事件驱动”中调用方法“showFileFromServer()”
PrintWriter out =newPrintWriter(socket.getOutputStream(),true);
BufferedReader in =newBufferedReader(newInputStreamReader( socket.getInputStream()));
//Print aline to thestream
setLayout(new BorderLayout());
JScrollPane jsp=new JScrollPane();
panel.setLayout(new BorderLayout());
fileText=new TextArea();
JLabel jlabel=new JLabel("FileName");
// Add jsp and p to the frame
add(jsp, BorderLayout.CENTER);
add(p, BorderLayout.SOUTH);
3、事件驱动
// Register listener
jbtView.addActionListener(newActionListener() {
相关主题