java中JFrame按钮添加事件,选择路径放到文本框里面 15

1。下面的代码是选择文件之后,在控制台输出路径,我只想选择路径之后就放到文本框中显示出来。2.最好能添加上选择根目录的方法。3.请朋友们给个思路。packagecom.d... 1。下面的代码是选择文件之后,在控制台输出路径,我只想选择路径之后就放到文本框中显示出来。
2.最好能添加上选择根目录的方法。
3.请朋友们给个思路。

package com.dao;
/**
* @param args
*/
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
public class Win extends JFrame {
JButton jb = new JButton("上传");
public Win() {
jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser jfc = new JFileChooser();
if(jfc.showOpenDialog(Win.this)==JFileChooser.APPROVE_OPTION ){
//解释下这里,弹出个对话框,可以选择要上传的文件,如果选择了,就把选择的文件的绝对路径打印出来,有了绝对路径,通过JTextField的settext就能设置进去了,那个我没写
System.out.println(jfc.getSelectedFile().getAbsolutePath());
}
}
});
//这下面的不用在意 一些设置
add(jb);
setLayout(new FlowLayout());
setSize(480, 320);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new Win().setVisible(true);
}
}
展开
 我来答
zhaotao_king
2012-11-27 · TA获得超过2455个赞
知道大有可为答主
回答量:863
采纳率:0%
帮助的人:1149万
展开全部
无语了,这个破知道,提交代码不过,改成11,就成功了!代码提交中
你需要的方法在按钮事件方法中,有问题追问,good luck!
通过选中文件获得绝对路径,点确定读取文件
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;

public class Test2 extends JFrame implements ActionListener {
JButton button;
JButton Select;
JButton btnOK;

JTextField textfield;
JPanel p;
JFileChooser fc = new JFileChooser();
TextArea area;

public Test2() {
p = new JPanel(); // 建立一个面板
this.getContentPane().add(p);// 把面板添加到框架
p.add(new JButton("文本"));// 把一个文本按钮添加到面板
textfield = new JTextField(10);
p.add(textfield); // 把一个文本框添加到面板
Select = new JButton("浏览");
p.add(Select); // 把一个浏览按钮添加到面板
Select.addActionListener(this);
btnOK = new JButton("确定");
p.add(btnOK);// 把一个确定按钮添加到面板
btnOK.addActionListener(this);
}

public void actionPerformed(ActionEvent e) {
// 当按下选择按钮,打开一个文件选择,文本框显示文件路径
if (e.getSource() == Select) {
int intRetVal = fc.showOpenDialog(this);
if (intRetVal == JFileChooser.APPROVE_OPTION) {
textfield.setText(fc.getSelectedFile().getPath());
}
} else if (e.getSource() == btnOK) { // 当按下确定按钮,生成一个新框架,框架里面有一个文本域,显示打开文件的内容
JFrame f = new JFrame();
f.setSize(400, 400);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String extensionName = getExtensionName(textfield.getText());
if ("txt".equals(extensionName)) {
f.setTitle("显示文本");
area = new TextArea();
//获取文本值
String text = readTxt(textfield.getText());
area.setText(text);
f.add(area);
f.setVisible(true);
} else if ("jpg".equals(extensionName) || "png".equals(extensionName) || "gif".equals(extensionName)) {
f.setTitle("显示图片");
Icon img = new ImageIcon(textfield.getText());
JLabel label = new JLabel(img);
//添加滚动条
JScrollPane jsp = new JScrollPane(label);
f.add(jsp);
f.setVisible(true);
} else {
JOptionPane.showMessageDialog(null, "请选择txt/jpg/png/gif格式的文件!");
}
}
}

/**
* @Description:获取文件后缀名
* @param filename
* @return
* @throws
*/
private String getExtensionName(String filename) {
if ((filename != null) && (filename.length() > 0)) {
int dot = filename.lastIndexOf('.');
if ((dot > -1) && (dot < (filename.length() - 1))) {
return filename.substring(dot + 1);
}
}
return filename;
}

/**
* @Description:读取文件
* @param path - 文件地址
* @return
* @throws
*/
private String readTxt(String path) {
if (path == null || "".equals(path)) {
return "";
}
StringBuffer sb = new StringBuffer();
File file = new File(path);
InputStreamReader read = null;
BufferedReader reader = null;
try {
read = new InputStreamReader(new FileInputStream(file), "gb2312");
reader = new BufferedReader(read);
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
sb.append("\n");
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (read != null) {
try {
read.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
return sb.toString();
}

public static void main(String[] args) {
Test2 frame = new Test2();
frame.setSize(400, 400);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
zhaotao_king
推荐于2017-11-28 · TA获得超过2455个赞
知道大有可为答主
回答量:863
采纳率:0%
帮助的人:1149万
展开全部
写了一个例子,你可以看一下。该例子可以读取txt文件并显示在文本框中,也可以读取图片文件,显示在JLabel上,有问题再追问,good luck!
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;

public class Test2 extends JFrame implements ActionListener {
JButton button;
JButton Select;
JButton btnOK;

JTextField textfield;
JPanel p;
JFileChooser fc = new JFileChooser();
TextArea area;

public Test2() {
p = new JPanel(); // 建立一个面板
this.getContentPane().add(p);// 把面板添加到框架
p.add(new JButton("文本"));// 把一个文本按钮添加到面板
textfield = new JTextField(10);
p.add(textfield); // 把一个文本框添加到面板
Select = new JButton("浏览");
p.add(Select); // 把一个浏览按钮添加到面板
Select.addActionListener(this);
btnOK = new JButton("确定");
p.add(btnOK);// 把一个确定按钮添加到面板
btnOK.addActionListener(this);
}

public void actionPerformed(ActionEvent e) {
// 当按下选择按钮,打开一个文件选择,文本框显示文件路径
if (e.getSource() == Select) {
int intRetVal = fc.showOpenDialog(this);
if (intRetVal == JFileChooser.APPROVE_OPTION) {
textfield.setText(fc.getSelectedFile().getPath());
}
} else if (e.getSource() == btnOK) { // 当按下确定按钮,生成一个新框架,框架里面有一个文本域,显示打开文件的内容
JFrame f = new JFrame();
f.setSize(400, 400);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String extensionName = getExtensionName(textfield.getText());
if ("txt".equals(extensionName)) {
f.setTitle("显示文本");
area = new TextArea();
//获取文本值
String text = readTxt(textfield.getText());
area.setText(text);
f.add(area);
f.setVisible(true);
} else if ("jpg".equals(extensionName) || "png".equals(extensionName) || "gif".equals(extensionName)) {
f.setTitle("显示图片");
Icon img = new ImageIcon(textfield.getText());
JLabel label = new JLabel(img);
//添加滚动条
JScrollPane jsp = new JScrollPane(label);
f.add(jsp);
f.setVisible(true);
} else {
JOptionPane.showMessageDialog(null, "请选择txt/jpg/png/gif格式的文件!");
}
}
}

/**
* @Description:获取文件后缀名
* @param filename
* @return
* @throws
*/
private String getExtensionName(String filename) {
if ((filename != null) && (filename.length() > 0)) {
int dot = filename.lastIndexOf('.');
if ((dot > -1) && (dot < (filename.length() - 1))) {
return filename.substring(dot + 1);
}
}
return filename;
}

/**
* @Description:读取文件
* @param path - 文件地址
* @return
* @throws
*/
private String readTxt(String path) {
if (path == null || "".equals(path)) {
return "";
}
StringBuffer sb = new StringBuffer();
File file = new File(path);
InputStreamReader read = null;
BufferedReader reader = null;
try {
read = new InputStreamReader(new FileInputStream(file), "gb2312");
reader = new BufferedReader(read);
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
sb.append("\n");
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (read != null) {
try {
read.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
return sb.toString();
}

public static void main(String[] args) {
Test2 frame = new Test2();
frame.setSize(400, 400);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bird520025
2012-11-27
知道答主
回答量:13
采纳率:0%
帮助的人:6.6万
展开全部
JFileChooser jfc =new JFileChooser(new File("C:\\DDDDData\\MyBs\\SaveTest"))

这样来创建jfc实例就可以设置默认路径了~
把TextFiled的实例引用写到你注释的位置,然后调用相应的set就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhaotao_king
2012-11-27 · TA获得超过2455个赞
知道大有可为答主
回答量:863
采纳率:0%
帮助的人:1149万
展开全部
无语了,这个破知道,提交代码不过,改成11,就成功了!代码提交中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
间的fdasj
2012-11-27
知道答主
回答量:18
采纳率:0%
帮助的人:10.2万
展开全部
不好意思,这个真心不会,毕竟现在很少用java来做界面了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式