Topic: 帮忙改改 (线程)

  Print this page

1.帮忙改改 (线程) Copy to clipboard
Posted by: xingchao
Posted on: 2006-12-09 17:38

帮忙改改这个程序
我想从一个text中输入字符 然后从 另一个textArea 中输出 要用线程编写

import java.io.*;
import java.util.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Ms extends JFrame implements ActionListener{

class Message1{
JTextField t1=new JTextField();
}
Message1 message1=new Message1();
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JButton b1=new JButton("send");
JButton b2=new JButton("Close");
Container cp=getContentPane();
String message;
Ms(){
message1.t1.setEditable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p1.setLayout( new FlowLayout());
p1.add(b1,FlowLayout.LEFT);
p1.add(b2,FlowLayout.RIGHT);
p2.setLayout(new FlowLayout());
p2.add(message1.t1,FlowLayout.CENTER);
cp.setLayout(new BorderLayout(5,5));
cp.add(p1,BorderLayout.SOUTH);
cp.add(p2,BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==b1){
message = message1.t1.getText();
MsThread mm = new MsThread();
mm.setMessgae(message);
mm.start();
}
}

class MsThread extends Thread{
Message2 message2=new Message2();
String m;
public void setMessgae(String ss){
m = ss;

}
public void run(){
message2.t2.setText()=m;
}
}

class Message2 extends JFrame {
JTextArea t2=new JTextArea(10,40);
Message2(){
setSize(300,200);
setTitle("talk");

addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
}
public void hh(){
Ms k=new Ms();
k.show();
}

public static void main(String args[]){
Ms m=new Ms();
m.hh();
}
}


Ms.java (1.5k)

2.Re:帮忙改改 (线程) [Re: xingchao] Copy to clipboard
Posted by: myfend
Posted on: 2006-12-10 11:03

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

public class Demo extends JFrame implements ActionListener,Runnable{
  private JButton jbSend = null;
  private JButton jbExit = null;
  private JTextField jtfInput = null;
  private JTextArea jtaContent = null;
  
  private Thread runThread = null;
  
  private String strContent = null;
  
  public Demo(){
    super("SendData");
    initWin();
    setFrameSizeAndLocation();
    
    this.setVisible(true);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
  
  private void setFrameSizeAndLocation(){
    this.setSize(640,480);
    
    Dimension screenSize = this.getToolkit().getScreenSize();
    Dimension winSize = this.getSize();
    
    int left = (screenSize.width-winSize.width)/2;
    int top = (screenSize.height-winSize.height)/2;
    
    this.setLocation(left,top);
  }
  
  private void initWin(){
    jbSend = new JButton("Send");
    jbSend.addActionListener(this);
    
    jbExit = new JButton("Exit");
    jbExit.addActionListener(this);
    
    jtfInput = new JTextField();
    
    jtaContent = new JTextArea();
    
    Container container = this.getContentPane();
    container.setLayout(new BorderLayout());
    
    container.add(jtfInput,BorderLayout.NORTH);
    container.add(new JScrollPane(jtaContent),BorderLayout.CENTER);
    
    JPanel panel = new JPanel();
    panel.add(jbSend);
    panel.add(jbExit);
    container.add(panel,BorderLayout.SOUTH);
  }
  
  public void actionPerformed(ActionEvent e){
    if(e.getSource()==jbSend){
      runThread = new Thread(this,"tSendData");
      runThread.start();
    }else if(e.getSource()==jbExit){
      System.exit(0);
    }
  }
  
  public void run(){
    Runnable r = new Runnable(){
       public void run(){
         jtaContent.append(strContent+"\n");
       }
      };
    
    try{
      strContent = jtfInput.getText();
      SwingUtilities.invokeAndWait(r);
    }catch(Exception exc){
      exc.printStackTrace();
    }
  }
  
  public static void main(String[] args){
    new Demo();
  }
}

Demo.java (1.96k)


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923