这样的,我的代码运行正常,对方发来的消息和我发出去的消息字体颜色是一样的,现在我想让他显示的时候是两种不同的字体,比如我发出去是红色,别人发来的是蓝色。
import java.awt.*;
import java.awt.event.*;
import java.net.*;public class Chatp2pFrame extends Frame {
List dataList = new List(26);
TextField Tfip = new TextField(18);
TextField Tfdata = new TextField(19);
Label Lip = new Label("输入对方的IP地址:");
Label Ldata = new Label("输入聊天的内容:");
DatagramSocket socket = null; /**
 * The constructor.
 */
public Chatp2pFrame() {
try {
socket = new DatagramSocket(5000);
} catch (Exception e) {
e.printStackTrace(); } Tfip.setSize(150, 15);
Tfdata.setSize(150, 15);
Tfip.setFocusable(true);
Tfip.setForeground(Color.blue);
Tfdata.setForeground(Color.red);
dataList.setForeground(Color.black);
this.add(dataList, "North");
Panel p1 = new Panel();
Panel p2 = new Panel();
p1.setLayout(new BorderLayout());
p2.setLayout(new BorderLayout());
this.add(p1, "Center");
this.add(p2, "South");
p1.add(Lip, "West");
p1.add(Ldata, "East");
p2.add(Tfip, "West");
p2.add(Tfdata, "East"); new Thread(new Runnable() {
public void run() {
byte[] buf = new byte[1024];
DatagramPacket packet = new DatagramPacket(buf, 1024);
while (true) {
try {
socket.receive(packet);
dataList.add(new String(buf, 0, packet.getLength())
+ "    FROM    "
+ packet.getAddress().getHostAddress() + ":"
+ packet.getPort(), 0);
} catch (Exception e) {
if (!socket.isClosed()) {
e.printStackTrace();
}
}
}
} }).start(); Tfdata.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
byte[] buf = new byte[1024];
buf = Tfdata.getText().getBytes();
DatagramPacket packet = new DatagramPacket(buf, buf.length,
InetAddress.getByName(Tfip.getText()), 5000);
socket.send(packet);
dataList.add(new String(buf, 0, packet.getLength())
+ "    TO    "
+ packet.getAddress().getHostAddress() + ":"
+ packet.getPort(), 0);
} catch (Exception x) {
x.printStackTrace();
}
Tfdata.setText("");
}
});
MenuBar menuBar = new MenuBar();
Menu menuFile = new Menu();
MenuItem menuFileExit = new MenuItem(); menuFile.setLabel("文件");
menuFileExit.setLabel("退出"); // Add action listener.for the menu button
menuFileExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Chatp2pFrame.this.windowClosed();
}
});
menuFile.add(menuFileExit);
menuBar.add(menuFile); setTitle("我的聊天程序");
setMenuBar(menuBar);
setSize(new Dimension(310, 500));
this.setResizable(false); // Add window listener.
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
Chatp2pFrame.this.windowClosed();
}
});
} /**
 * Shutdown procedure when run as an application.
 */
protected void windowClosed() { // TODO: Check if it is safe to close the application // Exit application.
socket.close();
System.exit(0);
} public static void main(String[] args) {
// Create application frame.
Chatp2pFrame frame = new Chatp2pFrame(); // Show frame
frame.setVisible(true);
}
}Java聊天工具字体颜色