class Search extends JFrame
{
JTextArea area;
Search()
{
setSize(600, 300);
Connection con=Lian.getCon();
String sql="select * from emp";
try
{
Statement sta=con.createStatement();
ResultSet rs=sta.executeQuery(sql);
while(rs.next())
{
area=new JTextArea(20,100);
String name= rs.getString("name");
String sex=rs.getString("sex");
int age=rs.getInt("age");
int sal=rs.getInt("sal");
area.setText("\n"+name+":"+sex+""+age+":"+sal);
add(area);
setVisible(true);
//System.out.println(name+":"+sex+""+age+":"+sal);
}
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
{
JTextArea area;
Search()
{
setSize(600, 300);
Connection con=Lian.getCon();
String sql="select * from emp";
try
{
Statement sta=con.createStatement();
ResultSet rs=sta.executeQuery(sql);
while(rs.next())
{
area=new JTextArea(20,100);
String name= rs.getString("name");
String sex=rs.getString("sex");
int age=rs.getInt("age");
int sal=rs.getInt("sal");
area.setText("\n"+name+":"+sex+""+age+":"+sal);
add(area);
setVisible(true);
//System.out.println(name+":"+sex+""+age+":"+sal);
}
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
应该换成area.append("\n"+name+":"+sex+""+age+":"+sal);如果想要拦截其他输出流,可以这样:
定义一个转向用的类:public class ConsoleIntercepter extends Thread{ private JTextArea text;
private PipedInputStream is;
public ConsoleIntercepter(JTextArea text,PipedOutputStream os) {
this.text = text;
try {
this.is = new PipedInputStream(os);
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void run() {
byte[] buf = new byte[1024];
int size;
while(true) {
try {
if((size = is.read(buf)) != -1)
text.append(new String(buf,0,size));
} catch (IOException e) {
e.printStackTrace();
break;
}
}
}}
然后在你的Frame中,使用这个类来拦截指定的输出流,这里假设需要拦截System.out// txt_console 是一个JTextFrame
ConsoleIntercepter console = new ConsoleIntercepter(txt_console, System.os);
console.start();
在console这个线程启动以后,所有System.out.输出的内容会被txt_console捕获