JFileChooser和 JTextArea的问题

gaofeng9339 2006-07-19 09:39:19
请问一下JFileChooser怎么用的 它的文件过滤怎么写
JTextArea 里面的内容怎么得到 然后生成文件
...全文
225 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaofeng9339 2006-07-22
  • 打赏
  • 举报
回复
非常好
candy84 2006-07-19
  • 打赏
  • 举报
回复
我的站也不错哟,有很多值得你看的哟,
来踩一下呀,
http://bbs.oneedu.cn/bbs
candy84 2006-07-19
  • 打赏
  • 举报
回复
我的站也不错哟,有很多值得你看的哟,
来踩一下呀,
http://bbs.oneedu.cn/bbs
hero222 2006-07-19
  • 打赏
  • 举报
回复

to 搂主:这是我以前写的一个例子程序,你自己看吧!

package swingstudy.swing;

import javax.swing.JPanel;
import javax.swing.JScrollPane;
import java.awt.TextArea;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFileChooser;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.File; ?
import java.io.*;

/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class fileChooserDemo implements ActionListener {
JScrollPane panelConten=new JScrollPane();
TextArea txtArea=new TextArea();
JFrame frame=new JFrame();
JPanel panelButton=new JPanel();
JButton fileOpen=new JButton("打開");
JButton fileSave=new JButton("保存");
FileReader reader;
FileWriter writer;
JFileChooser fileChooser;
public fileChooserDemo() {
init();
}
public void init(){
frame.setLayout(new BorderLayout());

//============panelConten===========
{
panelConten.setPreferredSize(new Dimension(200, 100));
panelConten.setViewportView(txtArea);
}
frame.add(panelConten,BorderLayout.CENTER);
//============panelButton==========={
{
panelButton.setLayout(new FlowLayout(FlowLayout.RIGHT));
fileOpen.setPreferredSize(new Dimension(80, 25));
fileOpen.addActionListener(this);
panelButton.add(fileOpen);
fileSave.setPreferredSize(new Dimension(80, 25));
fileSave.addActionListener(this);
panelButton.add(fileSave);
}
frame.add(panelButton,BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args){
new fileChooserDemo();

}

public void actionPerformed(ActionEvent e) {
if(e.getSource()==fileOpen){
System.out.println("===================");
fileChooser=new JFileChooser();
fileChooser.showOpenDialog(frame);

if(fileChooser.getSelectedFile()!=null){
File file = fileChooser.getSelectedFile();
char[] input=new char[(int)file.length()];

try {
reader = new FileReader(file);
reader.read(input);
StringBuffer conent=new StringBuffer();
for(int i=0;i<input.length;i++){
conent.append(input[i]);
}
txtArea.setText(conent.toString());
} catch (IOException ex) {
}
}else{
System.out.println("Error");
}
}

}
}
package vacc; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.PrintWriter; 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; import javax.swing.KeyStroke; import javax.swing.filechooser.FileNameExtensionFilter; public class TestNotepad { private JFrame jframe;// 主窗体 JPanel jpanel;// 面板 JMenuBar jmenuBar = new JMenuBar();// 菜单面板 JMenu jmenuFile, jmenuEdit;// 主菜单 JMenuItem jmenuItemOpen, jmenuItemNew, jmenuItemSave, jmenuItemSaveAs, jmenuItemExit;// 菜单中的子菜单 JTextArea jtextArea;// 文本框 JScrollPane jscrollPane;// 带滑动条的 JFileChooser jfileChooser;//文件选择器 File currentFile; public TestNotepad() { // TODO Auto-generated constructor stub jframe = new JFrame("我的记事本"); jpanel = new JPanel(); jmenuBar = new JMenuBar(); jtextArea = new JTextArea(); jtextArea.setLineWrap(true);//设置自动换行 jscrollPane = new JScrollPane(jtextArea); jfileChooser = new JFileChooser(); jfileChooser.setFileFilter(new FileNameExtensionFilter("文本文件(*.txt)", "txt")); jmenuFile = new JMenu("文件(F)"); jmenuFile.setMnemonic('F'); jmenuEdit = new JMenu("编辑(E)"); jmenuEdit.setMnemonic('E'); jmenuItemNew = new JMenuItem("新建(N)", 'N'); jmenuItemNew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_DOWN_MASK)); jmenuItemOpen = new JMenuItem("打开(O)", 'O'); jmenuItemOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_DOWN_MASK)); jmenuItemOpen.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub int res = jfileChooser.showOpenDialog(jframe); if(res == jfileChooser.APPROVE_OPTION) { currentFile = jfileChooser.getSelectedFile(); jtextArea.setText(""); openFile(currentFile); jframe.setTitle(currentFile + "-记事本"); System.out.println("s"); } } }); jmenuItemSave = new JMenuItem("保存(S)", 'S'); jmenuItemSave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK)); jmenuItemSave.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub saveFile(); } }); jmenuItemSaveAs = new JMenuItem("另存为(A)", 'A'); jmenuItemSaveAs.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub int res = jfileChooser.showSaveDialog(jframe); if(res == jfileChooser.APPROVE_OPTION) { currentFile = jfileChooser.getSelectedFile(); jframe.setTitle(currentFile + "-记事本"); saveFileAs(currentFile, jtextArea.getText().replaceAll("\n", "\r\n")); } } }); jmenuBar.add(jmenuFile); jmenuBar.add(jmenuEdit); jmenuFile.add(jmenuItemNew); jmenuFile.add(jmenuItemOpen); jmenuFile.add(jmenuItemSave); jmenuFile.add(jmenuItemSaveAs); jpanel.setLayout(new BorderLayout(2, 1)); jpanel.add(jmenuBar, "North"); jpanel.add(jscrollPane, "Center"); jframe.add(jpanel); jframe.setSize(500, 500); jframe.setLocationRelativeTo(null); jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jframe.setVisible(true); } public void saveFile() { if(currentFile == null) { int res = jfileChooser.showSaveDialog(jframe); if(res == jfileChooser.APPROVE_OPTION) { currentFile = jfileChooser.getSelectedFile(); jframe.setTitle(currentFile + "-记事本"); } } if(currentFile != null) { saveFileAs(currentFile, jtextArea.getText().replaceAll("\n", "\r\n")); } } public void saveFileAs(File file, String text) { PrintWriter pw = null; try { pw = new PrintWriter(file); pw.write(text); pw.flush(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if(pw != null) { pw.close(); } } } public void openFile(File file) { BufferedReader br = null; try { br = new BufferedReader(new FileReader(file)); String str = br.readLine(); while (str != null) { jtextArea.append(str + "\n"); System.out.println(str); str = br.readLine(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { if(br != null) { br.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static void main(String[] args) { new TestNotepad(); } }

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧