java文本域显示文件内容

importjava.awt.TextArea;importjava.awt.event.ActionEvent;importjava.awt.event.ActionL... import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

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

JTextField textfield;
JPanel p;
JFileChooser fc = new JFileChooser();
TextArea area;
public Test(){
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);
p.add(btnOK=new JButton("确定"));//把一个确定按钮添加到面板
btnOK.addActionListener(this);
Select.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());
}
}
//当按下确定按钮,生成一个新框架,框架里面有一个文本域,显示打开文件的内容
if(e.getSource()==btnOK){
JFrame f = new JFrame();
f.setSize(400,400);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
area = new TextArea();
f.add(area);
}
}

public static void main(String[] args) {

Test frame=new Test();

frame.setSize(400,400);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}

}
//文本域读取并显示出打开的文件的内容,例如txt文件,帮我写下这部分代码,谢谢。
//如果读取图片,并在打开的框架显示出来,这个功能能做的话,我另外加分,谢谢。
展开
 我来答
百度网友845f74e61
2012-11-20 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1627万
展开全部
给你代码。你的select这个按钮,加了两次侦听器,给你改了。
点选择选择一个文本文件,点确定,文件的内容会显示出来。
------------------------------------------------------------------------
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.FileReader;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

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

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

public Test() {
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);
p.add(btnOK = new JButton("确定"));// 把一个确定按钮添加到面板
btnOK.addActionListener(this);
}

public void actionPerformed(ActionEvent e) {
// 当按下选择按钮,打开一个文件选择,文本框显示文件路径
if (e.getSource() == Select) {
int intRetVal = fc.showOpenDialog(this);
if (intRetVal == JFileChooser.APPROVE_OPTION) {
file = fc.getSelectedFile();
textfield.setText(file.getPath());
}
}
// 当按下确定按钮,生成一个新框架,框架里面有一个文本域,显示打开文件的内容
if (e.getSource() == btnOK) {
JFrame f = new JFrame();
f.setSize(400, 400);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
area = new TextArea();
f.add(area);
try {
readFile(area);
} catch (Exception ex) {

}

}
}

private void readFile(TextArea area) throws Exception {
if (file != null) {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
try {
while (br.ready()) {
area.setText(area.getText() + br.readLine() + "\r\n");
}
} finally {
br.close();
fr.close();
}
}
}

public static void main(String[] args) {

Test frame = new Test();

frame.setSize(400, 400);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}

}
198901245631
推荐于2016-05-19 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1736万
展开全部
可以通过setText("文本内容")的形式进行文本域JTextArea赋值;
举例:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.PlainDocument;

public class AreaField extends javax.swing.JFrame {
private JTextField input;
private JTextArea output;

public static void main(String[] args) {
AreaField inst = new AreaField();
inst.setLocationRelativeTo(null);
inst.setVisible(true);
}

public AreaField() {
super();
initGUI();
}

private void initGUI() {
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
{
input = new JTextField();
getContentPane().add(input, BorderLayout.NORTH);

input.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
//这句话就是让文本域中显示文本框内容
output.setText("");
}
});
PlainDocument doc = (PlainDocument) input.getDocument();
doc.addDocumentListener(new DocumentListener(){

public void changedUpdate(DocumentEvent e) {

}

public void insertUpdate(DocumentEvent e) {
try {
//这里进行同步处理
Document doc = e.getDocument();
int offset = e.getOffset();
String text = doc.getText(offset, e.getLength());
Document adoc = output.getDocument();
adoc.insertString(adoc.getLength(), text, null);
} catch (BadLocationException e1) {
e1.printStackTrace();
}
}

public void removeUpdate(DocumentEvent e) {

}});
}
{
output = new JTextArea();
getContentPane().add(output, BorderLayout.CENTER);
output.setLineWrap(true);
}
pack();
setSize(400, 300);
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-11-20
展开全部
百度升级了,重复发了3个一样的问题,浪费了60分。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式