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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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;
Panel p =newPanel();
p.setLayout(newBorderLayout());
p.add(newLabel("Filename"), BorderLayout.WEST);
p.add(jtfFilename, BorderLayout.CENTER);
p.add(jbtView, BorderLayout.EAST);
输入:
预期输出:
实际输出:
分析
六、实验结果
用与测试用例不同的输入数据运行算法,写出得到的结果,并分析结果是否正确。
输入:
输Baidu Nhomakorabea结果:
结果分析:
七、总结
对上机实验结果进行分析、上机的心得体会及改进意见。
附录:
如果原来的算法中发现了错误,在附录中附上改正后的算法实现。
privatevoidshowFileFromServer() {
java.io.Inputream;
import java.io.Reader;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
add(panel,BorderLayout.SOUTH);
add(jsp,BorderLayout.EAST);
add(fileTextBorderLayout.CENTER); jButton.addActionListener( ActionListener(){
@Override
public void actionPerformed(ActionEvent ee) {
三、实验环境
1.硬件环境:
2.软件环境:JDK1.5
四、算法描述及实验步骤
1.算法描述(可以用类图、流程图、伪代码或源程序描述)
2.实验步骤
界面设计与实现
事件驱动程序设计
进行编译
进行测试,使用的测试用例:
输入:预期输出:
五、调试过程
1.编译过程
记录算法实现中发现的语法错误及改正
2.调试过程
记录算法实现中发现的逻辑错误及改正,对每个测试用例,记录实际输出,并与预期输出进行比较,如果不同,分析产生错误的原因并改正。
textFiled=new JTextField();
JButtons~jButton=new~JButton("View");panel.add(jlabel,BorderLayout.WEST);panel.add(textFiled,BorderLayout.CENTER);panel.add(jButton,BorderLayout.EAST);
// Add jsp and p to the frame
add(jsp, BorderLayout.CENTER);
add(p, BorderLayout.SOUTH);
3、事件驱动
// Register listener
jbtView.addActionListener(newActionListener() {
/**HandletheViewbutton*/
publicvoidactionPerformed(ActionEvent e) {
if(e.getSource() ==jbtView)
showFile();//自己实现这个方法,在textArea中浏览文本文件内容
}
});
4、网络程序设计(可选)
实现一个网络服务,用于把指定的文件内容传给客户端(见Exp_5_Server.java),在“事件驱动”中调用方法“showFileFromServer()”
福建农林大学计算机与信息学院实验报告

软件工程
专业
年级
11级
成绩
姓名
学号
实验室
机号
实验时间
教师签字
实验(五)
一、实验目的和要求
1.掌握简单GUI的设计和实现
2.理解并掌握GUI事件驱动的程序设计
3.理解网络程序设计
二、实验内容和原理
实现一个程序,用于浏览用户指定的文本文件。界面如图1所示:
图1文本文件浏览的用户界面
{
String string =reader.readLine();
fileText.append(string +"\r\n");
}
reader.close();
}
catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
// Get file name from the text field
StringfileName =jtfFilename.getText().trim();
jtaFile.setText("");
try{
// Create Socket
Socket socket =newSocket(IP_ADDRESS,PORT_NUMBER);
out.println(fileName);
Stringstr;
while((str = in.readLine()) !=null) {
jtaFile.append(str +'\n');
}
out.close();
in.close();
socket.close();
}
catch(UnknownHostException e) {
e1.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
setVisible; setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
PrintWriter out =newPrintWriter(socket.getOutputStream(),true);
BufferedReader in =newBufferedReader(newInputStreamReader( socket.getInputStream()));
//Print aline to thestream
import javax.swing.JTextField;
public class
OpenFileFrame {
JTextField textFiled;TextArea fileText;
public OpenFileFrame()
{
super("Exp__GUI");
Panel panel=new Panel();
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
// TODO Auto-generated method stub
Stringstr=textFiled.getText();
BufferedReader reader;
try {
reader = new Buffered(new FileReader(str));
String s="";
while((s=reader.readLine())!=null)
setLayout(new BorderLayout());
JScrollPane jsp=new JScrollPane();
panel.setLayout(new BorderLayout());
fileText=new TextArea();
JLabel jlabel=new JLabel("FileName");
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileOutputStream; import java.io.FileReader;
import java.io.IOException; import
System.err.println("Don't know about host: taranis. ");
}
catch(IOException ex) {
System.out.println(ex.getMessage());
}
finally{
}
相关文档
最新文档