| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1110 人关注过本帖
标题:求助:编译并运行未出错,但点击Button按钮出错
取消只看楼主 加入收藏
flyingtime
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-12-30
收藏
 问题点数:0 回复次数:5 
求助:编译并运行未出错,但点击Button按钮出错

//编写一个文件内容替换程序。要求:
//(1)允许用户选择目录;
//(2)选择是否包含子目录;
//(3)输入要修改的文件扩展名、要查找的字符串、替换后的字符串;
//(4)将用户选择范围的所有文件打开并替换;
//我实现了部分代码,其他的没有实现
//源代码:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class FileDialogDemo extends Frame implements MouseListener, WindowListener
{
Button b;
TextArea ta;
FileDialog fd;
TextField tf1,tf2;

public static void main(String args[])
{
FileDialogDemo fdm=new FileDialogDemo();
fdm.go();
}

class SearchFiles
{
void search()
{
File M = new File(tf1.getText());
File[] F = M.listFiles();
int i;
String name;
String name1=(tf2.getText());
for(i=0;i<F.length;i++)
{
name=F[i].getName();
if(name.equals(name1))
System.out.println("zhaodao");
else
System.out.println("meizhaodao");
}
}
}


public void mouseClicked(MouseEvent e)
{
//下面这个语句用于获得事件源按钮
Button myBTN = (Button) (e.getSource());
//下面的if语句处理事件源是“查找”按钮或“替换”按钮时的情况
if (myBTN.getLabel() == "搜 索" )
{
/* String型变量myString1和myString2获得文本区域和第一个文本框中的文字内容 */
//String myString1 = myTextArea.getText();
SearchFiles myNewFile=new SearchFiles();
myNewFile.search();
}


}



public void go ()
{

b=new Button("搜 索");
b.setBounds(50,130,100,30);
add(b);
b.addMouseListener(this);

TextArea ta=new TextArea();
ta.setBounds(250,50,200,120);
add(ta);

Label l1=new Label("搜索路径:");
l1.setBounds(50,50,65,20);
add(l1);

TextField tf1=new TextField(50);
tf1.setBounds(120,50,90,25);
add(tf1);

TextField tf2=new TextField(50);
tf2.setBounds(120,100,90,25);
add(tf2);

Label l2=new Label(" 扩展名 :");
//这里很奇怪,本来以为是队齐的,但并不对齐 只有在“扩展名:”前面狂加空格才实现对齐的
//不明白是什么原因
l2.setBounds(50,100,65,20);
add(l2);



addWindowListener(this);
setTitle("OpenFile");
setSize(500,200);
setVisible(true);

}



public void mouseEntered(MouseEvent e)
{
}

public void mouseExited(MouseEvent e)
{
}

public void mousePressed(MouseEvent e)
{
}

public void mouseReleased(MouseEvent e)
{
}

//重写windowClosing方法,关闭窗口时,程序退出
public void windowClosing(WindowEvent e)
{
System.exit(0);
}

public void windowOpened(WindowEvent e)
{
}

public void windowIconified(WindowEvent e)
{
}

public void windowDeiconified(WindowEvent e)
{
}

public void windowClosed(WindowEvent e)
{
}

public void windowActivated(WindowEvent e)
{
}

public void windowDeactivated(WindowEvent e)
{
}

}

搜索更多相关主题的帖子: Button 按钮 编译 运行 
2006-12-30 18:09
flyingtime
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-12-30
收藏
得分:0 

谢谢版主回复,但我还是不很了解,能不能详细一些?
我用b.addMouseListener(this)对按钮进行监听;
这里是动作
public void mouseClicked(MouseEvent e)
{
Button myBTN = (Button) (e.getSource());
if (myBTN.getLabel() == "搜 索" )
{
SearchFiles myNewFile=new SearchFiles();
myNewFile.search();
}
}
小弟对java不熟悉,请版主多帮帮我啊!
我用的是j2sdk1.4.2

2006-12-30 19:11
flyingtime
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-12-30
收藏
得分:0 

谢谢两位我用jdk5.0试试

2006-12-30 19:57
flyingtime
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-12-30
收藏
得分:0 
呵呵,美女好强啊~~~~可以运行
对了要实现下面这个功能该怎么办呢?
允许用户选择目录;
选择是否包含子目录;
输入要修改的文件扩展名、要查找的字符串、替换后的字符串;
将用户选择范围的所有文件打开并替换;

是不是首先用isDirectory()判断用户选择的目录中包不包含子目录,如果有子目录的话再递归调用判断;每个目录都检测有没有符合扩展名的文件(可以写个类testFile),如果有此扩展名的文件就用“要查找的字符串“在文件中搜索并用“替换后的字符串”代替(也可以写个类replaceText)
2006-12-30 20:27
flyingtime
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-12-30
收藏
得分:0 
郁闷还没想出来。。。提示一下好不?
2006-12-30 21:48
flyingtime
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-12-30
收藏
得分:0 
我又重新发了一个帖子,麻烦给为大虾帮忙看看。最好能在源代码上说明,这样我会比较明白一些
2006-12-31 16:07
快速回复:求助:编译并运行未出错,但点击Button按钮出错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012581 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved