求高手~~java中textarea的使用。如何通过循环获得信息后换行打印出新的数据。

时间:2022-09-24 14:29:07
如图所示,通过循环获得每一行的string数组信息,然后打印,再通过循环后跳到下一行打印另一组信息,如果每次都用 setText 的话会把之前的数据情况~
假设String 信息为:String[] rowData = {code,name,quanlity};
大虾们指点指点~
如果不行的话是不是要用JTable……可以的话麻烦给段代码~
感激不尽~~~
[img=http://zhidao.baidu.com/question/275407095.html][/img]

4 个解决方案

#1


你是不是说打印下一行的时候,前面的信息就没有了!

#2


楼主能否把意思说明白点

#3



package T;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class Test extends JFrame implements ActionListener {
private JTextArea text;
private JButton button;
private int i = 0;

public Test() {
text = new JTextArea(30,20);
JScrollPane jsp = new JScrollPane(text);
this.add(jsp);

button = new JButton("打印");
button.addActionListener(this);
this.add(button, BorderLayout.NORTH);

this.setTitle("JTextArea示例");
this.setSize(600, 400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void actionPerformed(ActionEvent e) {
if(e.getSource() == button) {
i++;
StringBuffer sb = new StringBuffer();
if(text.getText().equals("")) {
sb.append("code" + i + " name" + i + " quanlity" + i);
} else {
sb.append(text.getText() + "\ncode" + i + " name" + i + " quanlity" + i);
}
text.setText(sb.toString());
}
}

public static void main(String[] args) {
new Test();
}
}

这样就不会清空了!

#4


可以把前面的信息(字符串)与你后面的信息(字符串)连接起来合成一个新的字符串,然后调用seText();
就会把前面的字符串信息也打印出来

#1


你是不是说打印下一行的时候,前面的信息就没有了!

#2


楼主能否把意思说明白点

#3



package T;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class Test extends JFrame implements ActionListener {
private JTextArea text;
private JButton button;
private int i = 0;

public Test() {
text = new JTextArea(30,20);
JScrollPane jsp = new JScrollPane(text);
this.add(jsp);

button = new JButton("打印");
button.addActionListener(this);
this.add(button, BorderLayout.NORTH);

this.setTitle("JTextArea示例");
this.setSize(600, 400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void actionPerformed(ActionEvent e) {
if(e.getSource() == button) {
i++;
StringBuffer sb = new StringBuffer();
if(text.getText().equals("")) {
sb.append("code" + i + " name" + i + " quanlity" + i);
} else {
sb.append(text.getText() + "\ncode" + i + " name" + i + " quanlity" + i);
}
text.setText(sb.toString());
}
}

public static void main(String[] args) {
new Test();
}
}

这样就不会清空了!

#4


可以把前面的信息(字符串)与你后面的信息(字符串)连接起来合成一个新的字符串,然后调用seText();
就会把前面的字符串信息也打印出来