
使用javaswing中的JFileChooser类就ok了\x0d\import javaxswingJFileChooser;\x0d\import javaxswingJPanel;\x0d\import javaxswingfilechooserFileNameExtensionFilter;\x0d\\x0d\public class WebJianXuanZe {\x0d\\x0d\public static void fileChooser() {\x0d\JFileChooser chooser = new JFileChooser();\x0d\ FileNameExtensionFilter filter = new FileNameExtensionFilter(\x0d\ "JPG & GIF Images", "jpg", "gif");\x0d\ //设置文件类型\x0d\ choosersetFileFilter(filter);\x0d\ //打开选择器面板\x0d\ int returnVal = choosershowOpenDialog(new JPanel()); \x0d\ //保存文件从这里入手,输出的是文件名\x0d\ if(returnVal == JFileChooserAPPROVE_OPTION) {\x0d\ Systemoutprintln("你打开的文件是: " +\x0d\ choosergetSelectedFile()getName());\x0d\ }\x0d\}\x0d\public static void main(String[] args) {\x0d\fileChooser();\x0d\}\x0d\}\x0d\\x0d\建议你可以翻java API 。新童鞋的话一定要学会用API、善于用API,尽量独立解决问题,这样能够加深映像,并且对子什么也是一个激励!~
OpenDialog显然被你冤枉了!
它的作用只是帮你取得文件名。
BCB不是很熟悉,但是Delphi里打开文件好像是
Image1PictureBitmapLoadFromFile('xxxjpg')
最好加错误捕捉,因为JPG文件可能非法
首先需要一个Edit控件,一个Button和一个OpenDialog
Edit命名为urlOpen,Button为btnOpen,OpenDialog为OpenDialog1
那么在btnOpen的Click事件里打开的命令就是
c++代码如下:
if (OpenDialog1->Execute()){
urlOpen->Text=OpenDialog1->FileName;//将文件名填入urlOpen文本框
}
ExtractFileName(文件完整路径 含文件名)
例:
procedure TForm1Button1Click(Sender: TObject);
begin
if OpenDialog1Execute then
begin
showmessage(ExtractFileName(OpenDialog1FileName));
end;
end;
以上例子为:当点击Button1时,d出选择文件后,显示所选的文件名称(含扩展名)。
//导入JAVA类包
import javaawt;
import javaawtevent;
import javaxswing;
import javaio;
class EditFile
{
//默认构造函数
EditFile(){}
//保存文件函数
void SaveFile(String name,String str)
{
try
{
//声明文件输出对象
FileOutputStream fos = new FileOutputStream(name);
//输出保存文件
foswrite(strgetBytes());
}
catch (IOException e)
{
//发生错误打印错误信息
Systemoutprintln(etoString());
}
}
//打开文件函数
String OpenFile(String name)
{
//定义字符串str来保存文件内容
String str=null;
//定义计数器
int ch=0;
try
{
//声明文件输入对象
FileInputStream fis = new FileInputStream(name);
//遍历输入对象,将内存存储到str中
while ((ch=fisread())!=-1)
{
str=str+(char)ch;
}
//关闭文件对象
fisclose();
}
catch (IOException e)
{
//发生错误打印错误信息
Systemoutprintln(etoString());
}
//返回str
return str;
}
}
class MyMainFrame extends JFrame implements ActionListener
{
//文件名
String filename=null;
//查找字符串
String findtxt=null;
//替换字符串
String replacetxt=null;
//查找开始位
int findtxton=-1;
//查找结束位
int findtxtoff=-1;
//中间面版
Container c=getContentPane();
//菜单
JMenuBar mainMb=new JMenuBar();
//菜单按钮
JMenu fileMenu=new JMenu("文件");
JMenu editMenu=new JMenu("编辑");
JMenu typeMenu=new JMenu("格式");
JMenuItem newItem=new JMenuItem("新建");
JMenuItem openItem=new JMenuItem("打开");
JMenuItem saveItem=new JMenuItem("保存");
JMenuItem saveasItem=new JMenuItem("另存为");
JMenuItem exitItem=new JMenuItem("退出");
JMenuItem findItem=new JMenuItem("查找");
JMenuItem findnextItem=new JMenuItem("查找下一个");
JMenuItem changeItem=new JMenuItem("替换");
JCheckBoxMenuItem changelineItem=new JCheckBoxMenuItem("自动换行",false);
//文本域
JTextArea txt=new JTextArea();
JTextArea txt2=new JTextArea();
//滚动条
JScrollPane jsp;
//文件 *** 作对象
EditFile ef=new EditFile();
//构造函数
MyMainFrame()
{
//绘制界面
csetLayout(new BorderLayout());
jsp= new JScrollPane(txt);
jspsetHorizontalScrollBarPolicy(jspHORIZONTAL_SCROLLBAR_AS_NEEDED);
cadd(jsp,BorderLayoutCENTER);
mainMbadd(fileMenu);
fileMenuadd(newItem);
fileMenuadd(openItem);
fileMenuadd(saveItem);
fileMenuadd(saveasItem);
fileMenuaddSeparator();
fileMenuadd(exitItem);
mainMbadd(editMenu);
editMenuadd(findItem);
editMenuadd(findnextItem);
editMenuadd(changeItem);
mainMbadd(typeMenu);
typeMenuadd(changelineItem);
setJMenuBar(mainMb);
//为菜单添加事件监听
newItemaddActionListener(this);
openItemaddActionListener(this);
saveItemaddActionListener(this);
saveasItemaddActionListener(this);
exitItemaddActionListener(this);
findItemaddActionListener(this);
findnextItemaddActionListener(this);
changeItemaddActionListener(this);
changelineItemaddActionListener(this);
}
//事件处理函数
public void actionPerformed(ActionEvent e)
{
//建立一个文件 *** 作对象
EditFile ef=new EditFile();
//如果点击按钮为新建
if(egetActionCommand()=="新建")
{
//将文本域置为空
txtsetText(null);
//文件名为空
filename=null;
}
//如果点击按钮为打开
if(egetActionCommand()=="打开")
{
//定义一个文件窗体
FileDialog openDialog=new FileDialog(this,"打开文件",FileDialogLOAD);
//显示窗体
openDialogshow();
//如果返回文件不为空
if(openDialoggetFile()!=null)
{
//获得文件名
filename=openDialoggetFile();
//获得文件内容
txtsetText(efOpenFile(openDialoggetFile()));
}
}
//如果点击按钮为保存
if(egetActionCommand()=="保存")
{
//如果没有文件名
if(filename==null)
{
//定义一个文件窗体
FileDialog saveDialog=new FileDialog(this,"另存为",FileDialogSAVE);
//显示窗体
saveDialogshow();
//如果返回文件不为空
if(saveDialoggetFile()!=null)
{
//获得文件名
filename=saveDialoggetFile();
//保存文件
efSaveFile(filename,txtgetText());
}
}
else
{
//直接保存文件
efSaveFile(filename,txtgetText());
}
}
//如果点击按钮为另存为
if(egetActionCommand()=="另存为")
{
//定义一个文件窗体
FileDialog saveDialog=new FileDialog(this,"另存为",FileDialogSAVE);
//显示窗体
saveDialogshow();
//如果返回文件不为空
if(saveDialoggetFile()!=null)
{
//获得文件名
filename=saveDialoggetFile();
//保存文件
efSaveFile(filename,txtgetText());
}
}
//如果点击按钮为推出
if(egetActionCommand()=="退出")
{
//退出
Systemexit(0);
}
//如果点击按钮为查找
if(egetActionCommand()=="查找")
{
//定义一个对话框
JOptionPane inputdia=new JOptionPane();
//定义对话框获得查找文本
findtxt=inputdiashowInputDialog("请输入要查找的文本",null);
//定义其实坐标
findtxton=-1;
findtxtoff=-1;
//调用查找函数
find();
}
//如果点击按钮为查找下一个
if(egetActionCommand()=="查找下一个")
{
//调用查找函数
find();
}
//如果点击按钮为替换
if(egetActionCommand()=="替换")
{
//定义一个对话框
JOptionPane inputdia=new JOptionPane();
//获得查找和替换文本
findtxt=inputdiashowInputDialog("请输入要被替换的文本",null);
replacetxt=inputdiashowInputDialog("请输入替换后的文本",null);
//备份内容
txt2setText(replacetxt);
txt2selectAll();
txt2copy();
//调用查找函数
find();
//如果没找到
if(findtxton==-1&&findtxtoff==-1)
{
}
//如果找到
else
{
//替换
txtpaste();
}
findtxton=-1;
findtxtoff=-1;
}
//如果点击按钮为自动换行
if(egetActionCommand()=="自动换行")
{
//判断当前状态
if(changelineItemisSelected()==true)
{
//设置滚动条状态
jspsetHorizontalScrollBarPolicy(jspHORIZONTAL_SCROLLBAR_NEVER);
//设置是否换行
txtsetLineWrap(true);
}
else
{
jspsetHorizontalScrollBarPolicy(jspHORIZONTAL_SCROLLBAR_AS_NEEDED);
txtsetLineWrap(false);
}
}
}
//查找函数
public void find()
{
//定义临时字符串
String tempstr;
//查找文本不为空的话
if(findtxt!=null)
{
try
{
//进行查找
tempstr=txtgetText(findtxton+1,(txtgetText()length()-findtxton-1));
findtxton=findtxton+1+tempstrindexOf(findtxt);
}
catch(Exception e)
{
}
//如果开始位有变化,即找到
if(findtxton!=-1)
{
//设置结束位
findtxtoff=findtxton+findtxtlength();
}
else
{
//否则显示没有找到
findtxtoff=-1;
JOptionPaneshowMessageDialog(null,"没有找到");
}
//将找到部分进行选择
txtselect(findtxton,findtxtoff);
}
}
}
public class TextEdit
{
//主函数
public static void main(String args[])
{
//声明设置主窗体
MyMainFrame f=new MyMainFrame();
fsetSize(640,480);
fsetTitle("文本编辑器");
//显示主窗体
fsetVisible(true);
}
}
/
JTextArea的自动换行方面的问题
--------------------------------------------------------------------------------
如果水平滚动条设置为JSctollpane
,则添加了这种JSctollpane对象的JTextArea将具备换行功能
是这样吗?
--------------------------------------------------------------------------------
JTextAreasetLineWrap(boolean wrap)
--------------------------------------------------------------------------------
JTextAreasetLineWrap(boolean wrap)//一般的换行。
JTextAreasetWrapStyleWorld(boolean world)//以单词边缘为界限分行
/
这程序是我以前自己写的,交作业时候用的,保证可以运行,还有一个浏览器的小程序,比这个代码稍微少点,不过挺好玩的,是APPLET的,如果你运行不了或者想要另外一个的话,可以联系我,QQ:16528440
对了,注释我自己用的时候就没写了,你要要注释的话也来找我,我抽时间给你写写
// 文件过滤
OpenDialog1Filter := 'txt文件|txt|所有文件|';
if OpenDialog1Execute then begin
// 得到打开的文件名
edit1Text := OpenDialog1FileName;
end;
以上就是关于JAVA中如何触动按钮后d出文件浏览器和文件名选择框,选择保存目录全部的内容,包括:JAVA中如何触动按钮后d出文件浏览器和文件名选择框,选择保存目录、BCB中调用Word打开用Opendialog选中的doc文件 详细代码、c++builder opendialog 如何选中文件夹等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)