5个回答
展开全部
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class YFileChooser implements ActionListener{
JFrame frame=new JFrame("文件选择器实例");
JTabbedPane tabPane=new JTabbedPane();//选项卡布局
Container con=new Container();//布局1
Container con1=new Container();//布局2
JLabel label1=new JLabel("选择目录");
JLabel label2=new JLabel("选择文件");
JTextField text1=new JTextField();
JTextField text2=new JTextField();
JButton button1=new JButton("...");
JButton button2=new JButton("...");
JFileChooser jfc=new JFileChooser();//文件选择器
YFileChooser(){
jfc.setCurrentDirectory(new File("d:\\"));//文件选择器的初始目录定为d盘
//下面两行是取得屏幕的高度和宽度
double lx=Toolkit.getDefaultToolkit().getScreenSize().getWidth();
double ly=Toolkit.getDefaultToolkit().getScreenSize().getHeight();
frame.setLocation(new Point((int)(lx/2)-150,(int)(ly/2)-150));//设定窗口出现位置
frame.setSize(300,150);//设定窗口大小
frame.setContentPane(tabPane);//设置布局
//下面设定标签等的出现位置和高宽
label1.setBounds(10,10,70,20);
label2.setBounds(10,30,100,20);
text1.setBounds(80,10,120,20);
text2.setBounds(80,30,120,20);
button1.setBounds(210,10,50,20);
button2.setBounds(210,30,50,20);
button1.addActionListener(this);//添加事件处理
button2.addActionListener(this);//添加事件处理
con.add(label1);
con.add(label2);
con.add(text1);
con.add(text2);
con.add(button1);
con.add(button2);
con.add(jfc);
tabPane.add("目录/文件选择",con);//添加布局1
tabPane.add("暂无内容",con1);//添加布局2
frame.setVisible(true);//窗口可见
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//使能关闭窗口,结束程序
}
public void actionPerformed(ActionEvent e){//事件处理
if(e.getSource().equals(button1)){//判断触发方法的按钮是哪个
jfc.setFileSelectionMode(1);//设定只能选择到文件夹
int state=jfc.showOpenDialog(null);//此句是打开文件选择器界面的触发语句
if(state==1){
return;//撤销则返回
}
else{
File f=jfc.getSelectedFile();//f为选择到的目录
text1.setText(f.getAbsolutePath());
}
}
if(e.getSource().equals(button2)){
jfc.setFileSelectionMode(0);//设定只能选择到文件
int state=jfc.showOpenDialog(null);//此句是打开文件选择器界面的触发语句
if(state==1){
return;//撤销则返回
}
else{
File f=jfc.getSelectedFile();//f为选择到的文件
text2.setText(f.getAbsolutePath());
}
}
}
public static void main(String[] args) {
new YFileChooser();
}
}
不用谢~请叫我雷锋
展开全部
JFileChooser jfc=new JFileChooser(".");
int returnVal = jfc.showOpenDialog(null);
if(returnVal == JFileChooser.APPROVE_OPTION)
{
//获得打开的文件
File file = jfc.getSelectedFile();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
package org.leadfar;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Note extends JFrame implementsActionListener, KeyListener {
privateJPanel panel;
privateFile file = null;
privateJTextArea jt;
publicNote() {
init();
}
publicvoid init() {
this.setSize(400,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(400,400);
panel= new JPanel();
panel.setSize(400,400);
panel.setLayout(newGridLayout(1, 1));
panel.setBackground(Color.white);
//panel.setLocation(0, 100);
jt= new JTextArea();
jt.setLineWrap(true);
JScrollPanejsp = new JScrollPane(jt);
jt.addKeyListener(this);
panel.add(jsp);
JMenuBarjmb = new JMenuBar();
jmb.setLayout(newFlowLayout(FlowLayout.LEFT));
JMenujm = new JMenu("菜单");
JMenuItemjmi1 = new JMenuItem("关闭 ctrl+e");
JMenuItemjmi2 = new JMenuItem("保存ctrl+s");
JMenuItemjmi3 = new JMenuItem("另存为");
JMenuItemjmi4 = new JMenuItem("打开ctrl+o");
jmi1.addActionListener(this);
jmi2.addActionListener(this);
jmi3.addActionListener(this);
jmi4.addActionListener(this);
jm.add(jmi4);
jm.add(jmi2);
jm.add(jmi3);
jm.add(jmi1);
jmb.add(jm);
this.setJMenuBar(jmb);
this.add(panel);
this.setVisible(true);
}
publicstatic void main(String[] args) {
newNote();
}
@Override
publicvoid actionPerformed(ActionEvent e) {
Stringcmd = e.getActionCommand();
if("打开ctrl+o".equals(cmd)){
read();
}
if("关闭ctrl+e".equals(cmd)) {
System.exit(0);
}
if("保存ctrl+s".equals(cmd)){
save();
}
if("另存为".equals(cmd)){
resave();
}
}
publicvoid read() {
JFileChooserjfc = new JFileChooser();
jfc.showOpenDialog(jfc);
file= jfc.getSelectedFile();
try{
if(file != null) {
FileInputStreamin = new FileInputStream(file);
InputStreamReaderipr = new InputStreamReader(in, "GBK");
BufferedReaderbf = new BufferedReader(ipr);
Stringstr = "";
while((str=bf.readLine()) != null) {
jt.append(str);
}
}
}catch (FileNotFoundException e) {
System.out.println("打开文件失败");
}catch (IOException e) {
System.out.println("打开文件失败");
}
}
publicvoid save() {
if(file == null) {
JFileChooserjfc = new JFileChooser();
jfc.showSaveDialog(jfc);
file= jfc.getSelectedFile();
if(file != null) {
try{
file.createNewFile();
}catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
}
OutputStreamWriterout = null;
if(file != null) {
try{
FileOutputStreamfos= new FileOutputStream(file);
out= new OutputStreamWriter(fos, "GBK");
out.write(jt.getText());
out.flush();
out.close();
}catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
}
publicvoid resave() {
JFileChooserjfc = new JFileChooser();
jfc.showSaveDialog(jfc);
file= jfc.getSelectedFile();
if(file != null) {
try{
file.createNewFile();
}catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
OutputStreamWriterout = null;
if(file != null) {
try{
FileOutputStreamfos= new FileOutputStream(file);
out= new OutputStreamWriter(fos, "GBK");
out.write(jt.getText());
out.flush();
out.close();
}catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
}
@Override
publicvoid keyTyped(KeyEvent e) {
}
@Override
publicvoid keyPressed(KeyEvent e) {
if(e.isControlDown() && e.getKeyCode() == 83) {
save();
}
}
@Override
publicvoid keyReleased(KeyEvent e) {
//System.out.println(e.getKeyCode());
if(e.isControlDown() && e.getKeyCode() == 69) {
System.exit(0);
}
if(e.isControlDown() && e.getKeyCode() == 79) {
read();
}
}
}
这是我曾经写的一个java记事本的程序,你要的东西里边包含了,你试试看!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
界面用panel,加一个按钮,点击是弹出FileDialog;ok了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class YFileChooser implements ActionListener{
JFrame frame=new JFrame("文件选择器实例");
JTabbedPane tabPane=new JTabbedPane();//选项卡布局
Container con=new Container();//布局1
Container con1=new Container();//布局2
JLabel label1=new JLabel("选择目录");
JLabel label2=new JLabel("选择文件");
JTextField text1=new JTextField();
JTextField text2=new JTextField();
JButton button1=new JButton("...");
JButton button2=new JButton("...");
JFileChooser jfc=new JFileChooser();//文件选择器
YFileChooser(){
jfc.setCurrentDirectory(new File("d:\\"));//文件选择器的初始目录定为d盘
//下面两行是取得屏幕的高度和宽度
double lx=Toolkit.getDefaultToolkit().getScreenSize().getWidth();
double ly=Toolkit.getDefaultToolkit().getScreenSize().getHeight();
frame.setLocation(new Point((int)(lx/2)-150,(int)(ly/2)-150));//设定窗口出现位置
frame.setSize(300,150);//设定窗口大小
frame.setContentPane(tabPane);//设置布局
//下面设定标签等的出现位置和高宽
label1.setBounds(10,10,70,20);
label2.setBounds(10,30,100,20);
text1.setBounds(80,10,120,20);
text2.setBounds(80,30,120,20);
button1.setBounds(210,10,50,20);
button2.setBounds(210,30,50,20);
button1.addActionListener(this);//添加事件处理
button2.addActionListener(this);//添加事件处理
con.add(label1);
con.add(label2);
con.add(text1);
con.add(text2);
con.add(button1);
con.add(button2);
con.add(jfc);
tabPane.add("目录/文件选择",con);//添加布局1
tabPane.add("暂无内容",con1);//添加布局2
frame.setVisible(true);//窗口可见
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//使能关闭窗口,结束程序
}
public void actionPerformed(ActionEvent e){//事件处理
if(e.getSource().equals(button1)){//判断触发方法的按钮是哪个
jfc.setFileSelectionMode(1);//设定只能选择到文件夹
int state=jfc.showOpenDialog(null);//此句是打开文件选择器界面的触发语句
if(state==1){
return;//撤销则返回
}
else{
File f=jfc.getSelectedFile();//f为选择到的目录
text1.setText(f.getAbsolutePath());
}
}
if(e.getSource().equals(button2)){
jfc.setFileSelectionMode(0);//设定只能选择到文件
int state=jfc.showOpenDialog(null);//此句是打开文件选择器界面的触发语句
if(state==1){
return;//撤销则返回
}
else{
File f=jfc.getSelectedFile();//f为选择到的文件
text2.setText(f.getAbsolutePath());
}
}
}
public static void main(String[] args) {
new YFileChooser();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询