java实验报告 - - 129074(6)

2019-06-05 11:14

编译并运行UseStream1.class。

3.使用JFrame或Frame窗体等GUI编程,实现一个记事本程序,实现文件的打开、编辑、保存;文本的全选、复制、剪切、粘贴等功能。

import java.awt.*;

import java.awt.event.*; import java.io.*;

import java.awt.datatransfer.*; class MyMenuBar extends MenuBar{ public MyMenuBar(Frame parent){ parent.setMenuBar(this); }

public void addMenus(String [] menus){ for(int i=0;i

public void addMenuItems(int menuNumber,String[] items){ for(int i=0;i

getMenu(menuNumber).add(new MenuItem(items[i])); else getMenu(menuNumber).addSeparator(); } }

public void addActionListener(ActionListener al){ for(int i=0;i

for(int j=0;j

getMenu(i).getItem(j).addActionListener(al); } }

class MyFile{

private FileDialog fDlg;

public MyFile(Frame parent){

fDlg=new FileDialog(parent,\,FileDialog.LOAD); }

private String getPath(){

return fDlg.getDirectory()+\+fDlg.getFile(); }

public String getData() throws IOException{ fDlg.setTitle(\打开\);

fDlg.setMode(FileDialog.LOAD); fDlg.setVisible(true);

BufferedReader br=new BufferedReader(new FileReader(getPath())); StringBuffer sb=new StringBuffer(); String aline;

while((aline=br.readLine())!=null) sb.append(aline+'\\n'); br.close();

return sb.toString(); }

public void setData(String data) throws IOException{ fDlg.setTitle(\保存\);

fDlg.setMode(FileDialog.SAVE); fDlg.setVisible(true);

BufferedWriter bw=new BufferedWriter(new FileWriter(getPath())); bw.write(data); bw.close(); }

}

class MyClipboard{

private Clipboard cb; public MyClipboard(){

cb=Toolkit.getDefaultToolkit().getSystemClipboard(); }

public void setData(String data){

cb.setContents(new StringSelection(data),null); }

public String getData(){

Transferable content=cb.getContents(null); try{

return (String) content.getTransferData(DataFlavor.stringFlavor); }catch(Exception ue){} return null; } }

class MyFindDialog extends Dialog implements ActionListener{ private Label lFind=new Label(\查找字符串\); private Label lReplace=new Label(\替换字符串\); private TextField tFind=new TextField(10); private TextField tReplace=new TextField(10); private Button bFind=new Button(\查找\); private Button bReplace=new Button(\替换\); private TextArea ta;

public MyFindDialog(Frame owner,TextArea ta){ super(owner,\查找\,false); this.ta=ta;

setLayout(null);

lFind.setBounds(10,30,80,20); lReplace.setBounds(10,70,80,20); tFind.setBounds(90,30,90,20); tReplace.setBounds(90,70,90,20); bFind.setBounds(190,30,80,20); bReplace.setBounds(190,70,80,20); add(lFind); add(tFind); add(bFind); add(lReplace); add(tReplace); add(bReplace);

setResizable(false);

bFind.addActionListener(this); bReplace.addActionListener(this);

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){ MyFindDialog.this.dispose(); } }); }

public void showFind(){ setTitle(\查找\); setSize(280,60); setVisible(true); }

public void showReplace(){ setTitle(\查找替换\); setSize(280,110); setVisible(true); }

private void find(){

String text=ta.getText();

String str=tFind.getText(); int end=text.length(); int len=str.length();

int start=ta.getSelectionEnd(); if(start==end) start=0;

for(;start<=end-len;start++){

if(text.substring(start,start+len).equals(str)){ ta.setSelectionStart(start); ta.setSelectionEnd(start+len); return; } }

ta.setSelectionStart(end); ta.setSelectionEnd(end); }

public Button getBFind() { return bFind; }

private void replace(){

String str=tReplace.getText();

if(ta.getSelectedText().equals(tFind.getText()))

ta.replaceRange(str,ta.getSelectionStart(),ta.getSelectionEnd()); else find(); }

public void actionPerformed(ActionEvent e) { if(e.getSource()==bFind) find();

else if(e.getSource()==bReplace) replace(); } }

public class search_9_Jishiben extends Frame implements ActionListener{ private TextArea editor=new TextArea(); //可编辑的TextArea private MyFile mf=new MyFile(this);//MyFile对象 private MyClipboard cb=new MyClipboard();

private MyFindDialog findDlg=new MyFindDialog(this,editor);

public search_9_Jishiben(String title){ //构造函数 super(title);

MyMenuBar mb=new MyMenuBar(this); //添加需要的菜单及菜单项

mb.addMenus(new String[]{\文件\,\编辑\,\查找\,\帮助\});

mb.addMenuItems(0,new String[]{\新建\,\打开\,\保存\,null,\全选\});

mb.addMenuItems(1,new String[]{\剪贴\,\复制\,\粘贴\,\清除\,null,\全选\}); mb.addMenuItems(2,new String[]{\查找\,null,\查找替换\}); mb.addMenuItems(3,new String[]{\我的记事本信息\});

add(editor); //为菜单项注册动作时间监听器 mb.addActionListener(this);

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){ search_9_Jishiben.this.dispose(); }

}); //分号不能忘了 } //构造函数完

public void actionPerformed(ActionEvent e){

String selected=e.getActionCommand(); //获取菜单项标题 if(selected.equals(\新建\)) editor.setText(\);

else if(selected.equals(\打开\)){

try{

editor.setText(mf.getData()); }catch(IOException ie){} }

else if(selected.equals(\保存\)){ try{

mf.setData(editor.getText()); }catch(IOException ie){} }

else if(selected.equals(\退出\)){ dispose(); }

else if(selected.equals(\剪贴\)){

//将选中的字符串复制到剪贴板中并清除字符串 cb.setData(editor.getSelectedText());

editor.replaceRange(\,editor.getSelectionStart(),editor.getSelectionEnd()); }

else if(selected.equals(\复制\)){

cb.setData(editor.getSelectedText()); }

else if(selected.equals(\粘贴\)){ String str=cb.getData();

editor.replaceRange(str,editor.getSelectionStart(),editor.getSelectionEnd()); //粘贴在光标位置 }

else if(selected.equals(\清除\)){

editor.replaceRange(\,editor.getSelectionStart(),editor.getSelectionEnd()); }

else if(selected.equals(\全选\)){ editor.setSelectionStart(0);

editor.setSelectionEnd(editor.getText().length()); }

else if(selected.equals(\查找\)){ findDlg.showFind(); }

else if(selected.equals(\查找替换\)){ findDlg.showReplace(); } }

public static void main(String[] args){

search_9_Jishiben memo=new search_9_Jishiben(\记事本\); memo.setSize(650,450); memo.setVisible(true); } }

运行结果:

五、注意事项

⒈认真填写实验报告

⒉遵守实验室各项制度,服从实验指导教师的安排 ⒊按规定的时间完成实验

六、说明

⒈建议学时数4学时 七、实验总结与体会

这个实验让我们了解文件的概念和文件对象的创建方法、了解FileInputStream和FileOutoutStream的基本概念,通过这些的学习实践学会了创建文件输入输出流,掌握了使用文件输入输出流读写文件的方法。也进一步的训练了菜单的制作,子项的添加,从中得到了快乐,悟出java其实很简单,都是有章可循的,尽管他的函数很多,但都是一一相关的。

实验十、数据库应用实验

一、实验目的

⒈掌握Java应用程序连接数据库 ⒉掌握Java小应用程序连接数据库

二、预习内容

数据库表的应用

三、实验设备与环境

装有JAVA语言工具软件 (Eclipse )的微机若干

四、实验内容

⒈完成一个系统:实现GUI的学生成绩管理

1) 在数据库创建表:学生表(学号、姓名、性别、出生年月)、课程表(课程号、课程名)、成绩表(学号、课程

号,成绩)

2) 实现用户登陆功能

3) 在主窗口实现学生信息管理、课程信息管理、成绩录入修改查询和提交功能、学生成绩的分析(统计各个分数

段的人数,并画出统计图) 程序实现: //用户登录

import java.awt.*;

import java.awt.event.*; import javax.swing.*; import java.sql.*;

public class User extends JFrame{ private JLabel use,password; private JTextField k1;//用户名输入框 private JPasswordField k2;//密码输入框 private JButton b1,b2;

//登录窗口 public User(JFrame f){ super(\系统登录\); Container c=getContentPane(); c.setLayout(new FlowLayout()); use=new JLabel(\账户\); use.setFont(new Font(\,Font.PLAIN,20)); password=new JLabel(\密码\); password.setFont(new Font(\,Font.PLAIN,20)); k1=new JTextField(14); k2=new JPasswordField(14); b1=new JButton(\登录\); b2=new JButton(\退出\); // 设置登录方法


java实验报告 - - 129074(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:三网融合:广电网的宏观战略思考

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: