JAVA中如何触动按钮后d出文件浏览器和文件名选择框,选择保存目录

JAVA中如何触动按钮后d出文件浏览器和文件名选择框,选择保存目录,第1张

使用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 如何选中文件夹等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9742220.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存