先看效果,这样的:
下面是代码,为了让它看起来简单一点,去掉了交互代码,即只有GUI界面,没有实际功能。
import javax.swing.*;
import java.awt.*;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.net.NetworkInterface;
import java.util.Enumeration;
import java.net.SocketException;
public class GUI {
public static void main(String[] args) {
JFrame frame = new JFrame("客户端");
JPanel panel1=new JPanel();
JLabel labelServer=new JLabel("客户端名称:");
JTextField textServer=new JTextField(15);
JLabel labelServerPort=new JLabel("客户端端口:");
JTextField textServerPort=new JTextField(6);
JButton buttonListen=new JButton("连接");
JButton buttonStop=new JButton("断开");
panel1.add(labelServer);
panel1.add(textServer);
panel1.add(labelServerPort);
panel1.add(textServerPort);
panel1.add(buttonListen);
panel1.add(buttonStop);
JPanel panel2=new JPanel();
JLabel labelSend=new JLabel("消息:");
JTextField textSend=new JTextField(26);
JButton buttonSend=new JButton("发送");
JButton buttonIP=new JButton("本机网络配置信息");
panel2.add(labelSend);
panel2.add(textSend);
panel2.add(buttonSend);
panel2.add(buttonIP);
JPanel panel3=new JPanel();
JLabel labelMessage=new JLabel("消息记录");
panel3.add(labelMessage);
JPanel panel4=new JPanel();
JTextArea testMessage=new JTextArea(14,50);
panel4.add(testMessage);
frame.setLayout(new FlowLayout(1));
frame.add(panel1);
frame.add(panel2);
frame.add(panel3);
frame.add(panel4);
frame.setSize(550,400);
frame.setVisible(true);
}
}