原样获得JTextArea内容的方法讨论

ctguzhupan 2006-03-29 12:50:53
问题来源:我想把JTextArea里面的内容提取出来打印,但要保持输入的样式不变。先是用getText()取出来放在一个String 里面,然后再打印出来,但是由于JTextArea自动换行的时候没有自动加换行符(本人推测),所以打印出来的页面根本没有按要求换行,我看了javaAPI,没有找到相关方法,要自己写!但试了一个上午也没有实现!可能是小弟太笨,各位高手能提供点意见吗?谢谢!
...全文
245 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ctguzhupan 2006-04-25
  • 打赏
  • 举报
回复
谢谢哈
结贴
LoveXiaoShuang 2006-03-30
  • 打赏
  • 举报
回复
你是要获得内容还是要把整个JTextArea的样式打印出来。
如果只是获得内容的话,直接提取JtextArea的信息,然后保存到一个临时文件中,在提取一行信息保存到临时文件的时候,加一个换行符,依此类推,然后再将临时文件的内容打印出来就可以了。
ctguzhupan 2006-03-29
  • 打赏
  • 举报
回复
我写了个测试程序:

import java.awt.*;
import javax.swing.*;

public class TestPrint extends JPanel {
JTextArea dd = new JTextArea(10,10);

public TestPrint(){
this.setLayout(new BorderLayout());
dd.setPreferredSize(new Dimension(600, 300));
add(dd, BorderLayout.SOUTH);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
drawTextArea(g2,dd);

}
public void drawTextArea(Graphics2D g2,JTextArea area)
{
g2.drawString(area.getText(),120,120);
}
public static void main(String[] args) {

try{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}catch(Exception e){

}
JFrame frame = new JFrame();
TestPrint tt = new TestPrint();
frame.setBounds(100, 100, 500, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(tt);
frame.setVisible(true);
}

}


就是要自己写drawTextArea方法实现原样输出功能
这个测试程序很简单,没有即时刷新,要在上面面板上显示下面文本域输入的内容得把JPanel放大或放下活动下才可!

大家帮我看看怎么写drawTextArea方法才能实现原样输出功能

谢谢哈

62,614

社区成员

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

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