swing插件生成的界面如何自适应屏幕??????

使用java中的swing插件生成模拟界面,如何自适应屏幕?求大神


package demo;

import java.awt.EventQueue;
import java.awt.Font;
import java.awt.SystemColor;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;

import java.awt.BorderLayout;
import javax.swing.border.EmptyBorder;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;

import javax.swing.border.LineBorder;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;

import org.eclipse.ui.internal.handlers.WizardHandler.New;

import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.UIManager;
import javax.swing.SwingConstants;
import java.awt.TextField;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.swing.JTextArea;
import java.awt.Panel;

public class tool extends JFrame{

	private JFrame frame;
	private JPanel contentPane;
	private JTextField xmlFilePath;
	private JTextField documentFilePath;
	private JTextField dtPacketFilePath;
	private JTextField textField;
	private JTextField dataSizeText;
	private JTextField dataFrame;
	private JTextField rtDataFilePath;
	private JTextField rtDataProperties;
	private JTextField logText;
	private JTextField receiveFilePath;
	private JTextField topicText;
	private JTextField loadFilePath;
	private JTextField topicTextAchieve;
	private JTextArea logData;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					tool frame = new tool();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
	

	

	/**
	 * Create the application.
	 */
	public tool() {
		setTitle("数据传输测试工具");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 1293, 1000);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		//左侧发送数据面板
		JPanel leftPanel = new JPanel();
		leftPanel.setForeground(SystemColor.windowText);
		leftPanel.setBorder(new LineBorder(new Color(153, 180, 209)));
		leftPanel.setBounds(14, 13, 659, 927);
		contentPane.add(leftPanel);
		leftPanel.setLayout(null);
		
		// 左边标题文本
		JTextPane leftTextPane = new JTextPane();
		leftTextPane.setEditable(false);
		leftTextPane.setFont(new Font("宋体", Font.PLAIN, 18));
		leftTextPane.setBackground(SystemColor.activeCaption);
		leftTextPane.setBounds(187, 13, 113, 27);
		leftPanel.add(leftTextPane);
		leftTextPane.setText("数据发送端");
		
		//消息内容
		JTextPane xmlDataText = new JTextPane();
		xmlDataText.setEditable(false);
		xmlDataText.setBackground(Color.LIGHT_GRAY);
		xmlDataText.setText("消息发送:");
		xmlDataText.setBounds(14, 59, 82, 24);
		leftPanel.add(xmlDataText);
		
		//左侧消息数据区子面板
		JPanel leftXmlPanel = new JPanel();
		leftXmlPanel.setBorder(new LineBorder(SystemColor.windowText));
		leftXmlPanel.setBounds(14, 96, 619, 99);
		leftPanel.add(leftXmlPanel);
		leftXmlPanel.setLayout(null);
		
		//消息XML文本内容
		JTextPane xmlText = new JTextPane();
		xmlText.setEditable(false);
		xmlText.setBackground(SystemColor.activeCaptionBorder);
		xmlText.setText(" XML:");
		xmlText.setBounds(23, 33, 53, 24);
		leftXmlPanel.add(xmlText);
		
		//消息文件选择路径显示区
		xmlFilePath = new JTextField();
		xmlFilePath.setBackground(SystemColor.text);
		xmlFilePath.setBounds(90, 33, 288, 24);
		leftXmlPanel.add(xmlFilePath);
		xmlFilePath.setColumns(10);
		
		//消息文件选择按钮
		JButton xmlSelectButton = new JButton("...");
		JFileChooser fileChooser = new JFileChooser("c:\\");
		xmlSelectButton.setBackground(UIManager.getColor("Button.disabledForeground"));
		
		xmlSelectButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
                File selectFile = null;
				
				// 打开路径选择文件
				int a = fileChooser.showSaveDialog(null);
				if(a == fileChooser.APPROVE_OPTION){
					selectFile = fileChooser.getSelectedFile();
					xmlFilePath.setText(selectFile.getPath());
				}
			}
		});
		
		xmlSelectButton.setBounds(406, 27, 71, 37);
		leftXmlPanel.add(xmlSelectButton);
		
		SimpleDateFormat smp = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		//消息文件发送按钮 
		JButton xmlSend = new JButton("发送");
		xmlSend.setForeground(SystemColor.windowText);
		xmlSend.setBackground(UIManager.getColor("Button.disabledForeground"));
		
		xmlSend.addActionListener(new ActionListener() {
		

			public void actionPerformed(ActionEvent e) {

				// 获取客户填写的服务端IP及端口
				
				String selectXmlFile = xmlFilePath.getText().trim();
				
				if (selectXmlFile.equals("")) {
					JOptionPane.showMessageDialog(null, "请填写所有需要的信息!");
				}
				else {
					// 调用辜锐后端函数,将信息传给后端。
					
					logData.append(smp.format(new Date())+" "+"开始向【"+"192.168.0.101"+"】发送数据"+"\r\n");
					long bef =6;
					logData.append(smp.format(new Date())+" "+"【"+"192.168.0.101"+"】接收到数据"+"\r\n");
					long aft =7;
					logData.append(smp.format(new Date())+" "+"发送耗时(s):"+(aft-bef)+"\r\n");
					logData.append("文件大小:5Mb");
					logData.append("文件存储地址:c:\\数据流.xml");
				}
			}
		});
		
		xmlSend.setBounds(504, 27, 71, 37);
		leftXmlPanel.add(xmlSend);
		
		//文件文本内容
		JTextPane documentText = new JTextPane();
		documentText.setEditable(false);
		documentText.setBackground(SystemColor.activeCaptionBorder);
		documentText.setText("文件发送:");
		documentText.setBounds(14, 208, 90, 27);
		leftPanel.add(documentText);
		
		//左侧文件数据区子面板
		JPanel leftDocumentPanel = new JPanel();
		leftDocumentPanel.setBorder(new LineBorder(SystemColor.windowText));
		leftDocumentPanel.setBounds(14, 248, 619, 88);
		leftPanel.add(leftDocumentPanel);
		leftDocumentPanel.setLayout(null);
		
		//文件指示文本内容
		JTextPane propertiesText = new JTextPane();
		propertiesText.setEditable(false);
		propertiesText.setBackground(SystemColor.activeCaptionBorder);
		propertiesText.setText(" 文件:");
		propertiesText.setBounds(28, 35, 52, 24);
		leftDocumentPanel.add(propertiesText);
		
		//文件选择路径显示区
		documentFilePath = new JTextField();
		documentFilePath.setBackground(SystemColor.text);
		documentFilePath.setBounds(94, 35, 283, 24);
		leftDocumentPanel.add(documentFilePath);
		documentFilePath.setColumns(10);
		
		//文件选择按钮
		JButton documentSelectButton = new JButton("...");
		
		documentSelectButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                File selectFile = null;

                // 打开路径选择文件
                int a = fileChooser.showSaveDialog(null);
                if(a == fileChooser.APPROVE_OPTION){
                    selectFile = fileChooser.getSelectedFile();
                    documentFilePath .setText(selectFile.getPath());
                }
            }
        });
		documentSelectButton.setForeground(SystemColor.windowText);
		documentSelectButton.setBackground(UIManager.getColor("Button.disabledForeground"));
		documentSelectButton.setBounds(404, 30, 71, 34);
		leftDocumentPanel.add(documentSelectButton);
		
		//文件发送按钮
		JButton documentSend = new JButton("发送");
		documentSend.addActionListener(new ActionListener() {
			

			public void actionPerformed(ActionEvent e) {

				// 获取客户填写的服务端IP及端口
				
				String selectDocumentFile = documentFilePath.getText().trim();
				
				if (selectDocumentFile.equals("")) {
					JOptionPane.showMessageDialog(null, "请填写所有需要的信息!");
				}
				else {
					// 调用辜锐后端函数,将信息传给后端。
					
					logData.append(smp.format(new Date())+" "+"开始向【"+"192.168.0.101"+"】发送数据"+"\r\n");
					long bef =6;
					logData.append(smp.format(new Date())+" "+"【"+"192.168.0.101"+"】接收到数据"+"\r\n");
					long aft =7;
					logData.append(smp.format(new Date())+" "+"发送耗时(s):"+(aft-bef)+"\r\n");
					logData.append("文件大小:5Mb");
					logData.append("文件存储地址:c:\\数据流.xml");
				}
			}
		});
		
		documentSend.setBackground(UIManager.getColor("Button.disabledForeground"));
		documentSend.setBounds(501, 30, 71, 34);
		leftDocumentPanel.add(documentSend);
		
		//数据包文本内容
		JTextPane dataPacket = new JTextPane();
		dataPacket.setEditable(false);
		dataPacket.setBackground(SystemColor.activeCaptionBorder);
		dataPacket.setText("数据包发送:");
		dataPacket.setBounds(14, 349, 113, 24);
		leftPanel.add(dataPacket);
		
		//左侧数据包区子面板
		JPanel leftDtpacketPanel = new JPanel();
		leftDtpacketPanel.setBorder(new LineBorder(new Color(0, 0, 0)));
		leftDtpacketPanel.setBounds(14, 386, 619, 177);
		leftPanel.add(leftDtpacketPanel);
		leftDtpacketPanel.setLayout(null);
		
		//数据包XML文本内容
		JTextPane txtpnXml = new JTextPane();
		txtpnXml.setBackground(SystemColor.activeCaptionBorder);
		txtpnXml.setText("XML属性:");
		txtpnXml.setBounds(14, 37, 71, 24);
		leftDtpacketPanel.add(txtpnXml);
		
		//数据包选择路径显示区
		dtPacketFilePath = new JTextField();
		dtPacketFilePath.setBackground(SystemColor.text);
		dtPacketFilePath.setBounds(94, 37, 279, 24);
		leftDtpacketPanel.add(dtPacketFilePath);
		dtPacketFilePath.setColumns(10);
		
		//数据包选择按钮
		JButton dtPacketSelectButton = new JButton("....");
		dtPacketSelectButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                File selectFile = null;

                // 打开路径选择文件
                int a = fileChooser.showSaveDialog(null);
                if(a == fileChooser.APPROVE_OPTION){
                    selectFile = fileChooser.getSelectedFile();
                    dtPacketFilePath   .setText(selectFile.getPath());
                }
            }
        });
		dtPacketSelectButton.setBackground(UIManager.getColor("Button.disabledForeground"));
		dtPacketSelectButton.setBounds(402, 33, 69, 32);
		leftDtpacketPanel.add(dtPacketSelectButton);
		
		//数据包发送按钮
		JButton daPackSend = new JButton("发送");
		daPackSend.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

                
                String selectPacketData = dataFrame.getText();
                String selectDtPacketFile = dtPacketFilePath.getText().trim();
                String selectLoadFile = loadFilePath.getText().trim();

                if (selectDtPacketFile.equals("") || selectLoadFile.equals("") || selectLoadFile.equals("")) {
                    JOptionPane.showMessageDialog(null, "请填写所有需要的信息!");
                }
                else {
                    // 调用辜锐后端函数,将信息传给后端。      
                  

                }
            }
        });
		daPackSend.setBackground(UIManager.getColor("Button.disabledForeground"));
		daPackSend.setBounds(501, 33, 69, 32);
		leftDtpacketPanel.add(daPackSend);
		
		//数据包文件文本内容
		JTextPane loadDataText = new JTextPane();
		loadDataText.setEditable(false);
		loadDataText.setBackground(SystemColor.activeCaptionBorder);
		loadDataText.setText("  文件:");
		loadDataText.setBounds(14, 92, 69, 24);
		leftDtpacketPanel.add(loadDataText);
		
		//数据包文件路径显示区
		loadFilePath = new JTextField();
		loadFilePath.setBounds(94, 92, 279, 24);
		leftDtpacketPanel.add(loadFilePath);
		loadFilePath.setColumns(10);
		
		//数据包文件选择按钮
		JButton loadSelectButton = new JButton("...");
		loadSelectButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                File selectFile = null;

                // 打开路径选择文件
                int a = fileChooser.showSaveDialog(null);
                if(a == fileChooser.APPROVE_OPTION){
                    selectFile = fileChooser.getSelectedFile();
                    loadFilePath.setText(selectFile.getPath());
                }
            }
        });
		loadSelectButton.setBackground(UIManager.getColor("Button.disabledForeground"));
		loadSelectButton.setBounds(402, 92, 69, 32);
		leftDtpacketPanel.add(loadSelectButton);
		
		//数据包大小文本内容
		dataSizeText = new JTextField();
		dataSizeText.setBackground(Color.LIGHT_GRAY);
		dataSizeText.setEditable(false);
		dataSizeText.setText(" 数据包大小:");
		dataSizeText.setBounds(14, 129, 100, 24);
		leftDtpacketPanel.add(dataSizeText);
		dataSizeText.setColumns(10);
		
		//数据包大小输入区
		dataFrame = new JTextField();
		dataFrame.setBackground(SystemColor.text);
		dataFrame.setHorizontalAlignment(SwingConstants.CENTER);
		dataFrame.setText("10");
		dataFrame.setBounds(128, 129, 55, 24);
		leftDtpacketPanel.add(dataFrame);
		dataFrame.setColumns(10);
		
		//数据包大小分包单位
		JTextPane companyText = new JTextPane();
		companyText.setText("MB/包");
		companyText.setBounds(197, 129, 55, 24);
		leftDtpacketPanel.add(companyText);
		
		//实时数据文本内容
		JTextPane realTimeDataText = new JTextPane();
		realTimeDataText.setEditable(false);
		realTimeDataText.setBackground(SystemColor.activeCaptionBorder);
		realTimeDataText.setText("实时数据发布:");
		realTimeDataText.setBounds(14, 576, 113, 24);
		leftPanel.add(realTimeDataText);
		
		//左侧实时数据区子面板
		JPanel leftRtDataPanel = new JPanel();
		leftRtDataPanel.setBorder(new LineBorder(SystemColor.windowText));
		leftRtDataPanel.setBounds(14, 613, 619, 88);
		leftPanel.add(leftRtDataPanel);
		leftRtDataPanel.setLayout(null);
		
		//实时数据发布XML文本内容
		JTextPane txtpnXml_1 = new JTextPane();
		txtpnXml_1.setEditable(false);
		txtpnXml_1.setBackground(SystemColor.activeCaptionBorder);
		txtpnXml_1.setText("XML属性:");
		txtpnXml_1.setBounds(14, 13, 83, 24);
		leftRtDataPanel.add(txtpnXml_1);
		
		//实时数据选择路径显示区
		rtDataFilePath = new JTextField();
		rtDataFilePath.setBackground(SystemColor.text);
		rtDataFilePath.setBounds(108, 13, 259, 24);
		leftRtDataPanel.add(rtDataFilePath);
		rtDataFilePath.setColumns(10);
		
		//实时数据选择按钮
		JButton rtDataSelectButton = new JButton("...");
		rtDataSelectButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				 File selectFile = null;

	                // 打开路径选择文件
	                int a = fileChooser.showSaveDialog(null);
	                if(a == fileChooser.APPROVE_OPTION){
	                    selectFile = fileChooser.getSelectedFile();
	                    loadFilePath.setText(selectFile.getPath());
	                }
			}
		});
		rtDataSelectButton.setBackground(UIManager.getColor("Button.disabledForeground"));
		rtDataSelectButton.setBounds(404, 12, 66, 27);
		leftRtDataPanel.add(rtDataSelectButton);
		
		//实时数据文件文本描述
		JTextPane textPane = new JTextPane();
		textPane.setEditable(false);
		textPane.setBackground(SystemColor.activeCaptionBorder);
		textPane.setText("  文件:");
		textPane.setBounds(14, 51, 83, 24);
		leftRtDataPanel.add(textPane);
		
		//实时数据文件路径显示区
		rtDataProperties = new JTextField();
		rtDataProperties.setBackground(SystemColor.text);
		rtDataProperties.setBounds(108, 51, 259, 24);
		leftRtDataPanel.add(rtDataProperties);
		rtDataProperties.setColumns(10);
		
		//实时数据属性路径选择按钮
		JButton attributeSelectButton = new JButton("...");
		attributeSelectButton.setBackground(UIManager.getColor("Button.disabledForeground"));
		attributeSelectButton.setBounds(404, 48, 63, 27);
		leftRtDataPanel.add(attributeSelectButton);
		
		//实时数据发布按钮
		JButton releaseSelectButton = new JButton("发布");
		releaseSelectButton.setBackground(UIManager.getColor("Button.disabledForeground"));
		releaseSelectButton.setBounds(495, 29, 73, 35);
		leftRtDataPanel.add(releaseSelectButton);
		
		//运行日志文本内容
		logText = new JTextField();
		logText.setBackground(SystemColor.activeCaptionBorder);
		logText.setEditable(false);
		logText.setText("执行结果日志:");
		logText.setBounds(14, 714, 113, 24);
		leftPanel.add(logText);
		logText.setColumns(10);
		
		//执行结果日志数据
		logData = new JTextArea();
		logData.setEditable(true);
		logData.setLineWrap(true);
		//滚动条
		JScrollPane sendLogScrollPanel =new JScrollPane(logData);
		sendLogScrollPanel.setBounds(14,751,619,163);
		leftPanel.add(sendLogScrollPanel);
		logData.setColumns(10);
		
		logData.getDocument().addDocumentListener(new DocumentListener() {
			
			@Override
			public void removeUpdate(DocumentEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void insertUpdate(DocumentEvent e) {
				// TODO Auto-generated method stub
				logData.setCaretPosition(logData.getText().length());
			}
			
			@Override
			public void changedUpdate(DocumentEvent e) {
				// TODO Auto-generated method stub
				
			}
		});
		
		//右边区域
		JPanel rightPanel = new JPanel();
		rightPanel.setForeground(SystemColor.windowText);
		rightPanel.setBorder(new LineBorder(new Color(153, 180, 209)));
		rightPanel.setBounds(722, 13, 539, 927);
		contentPane.add(rightPanel);
		rightPanel.setLayout(null);
		
		// 右边标题文本
		JTextPane rightTextPane = new JTextPane();
		rightTextPane.setEditable(false);
		rightTextPane.setFont(new Font("宋体", Font.PLAIN, 18));
		rightTextPane.setBackground(SystemColor.activeCaption);
		rightTextPane.setBounds(213, 13, 105, 27);
		rightTextPane.setText("数据接收端");
		rightPanel.add(rightTextPane);
		
		//接收数据文本内容
		JTextPane receiveText = new JTextPane();
		receiveText.setBackground(SystemColor.activeCaptionBorder);
		receiveText.setText("响应文件:");
		receiveText.setBounds(47, 75, 81, 24);
		rightPanel.add(receiveText);
		
		//接收数据的路径显示区
		receiveFilePath = new JTextField();
		receiveFilePath.setBounds(142, 75, 266, 24);
		rightPanel.add(receiveFilePath);
		receiveFilePath.setColumns(10);
		
		//响应文件选择按钮
		JButton receiveSelectButton = new JButton("...");
		receiveSelectButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				
			}
		});
		receiveSelectButton.setBounds(433, 75, 68, 27);
		rightPanel.add(receiveSelectButton);
		
		//消息接收文本内容描述
		JTextPane xmlReceiveText = new JTextPane();
		xmlReceiveText.setBackground(SystemColor.activeCaptionBorder);
		xmlReceiveText.setText("消息接收:");
		xmlReceiveText.setBounds(14, 125, 141, 24);
		rightPanel.add(xmlReceiveText);
		
		//消息文件数据显示区
		JTextArea xmlReceiveArea = new JTextArea();
		xmlReceiveArea.setRows(0);
		xmlReceiveArea.setEditable(true);
		xmlReceiveArea.setLineWrap(true);
		//滚动条
		JScrollPane xmlReceiveInfo =new JScrollPane(xmlReceiveArea);
		xmlReceiveInfo.setBounds(24,162,489,103);
		rightPanel.add(xmlReceiveInfo);
		xmlReceiveArea.setColumns(10);
		
		xmlReceiveArea.getDocument().addDocumentListener(new DocumentListener() {
			
			@Override
			public void removeUpdate(DocumentEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void insertUpdate(DocumentEvent e) {
				// TODO Auto-generated method stub
				xmlReceiveArea.setCaretPosition(xmlReceiveArea.getText().length());
			}
			
			@Override
			public void changedUpdate(DocumentEvent e) {
				// TODO Auto-generated method stub
				
			}
		});
		
		//文件接收文本内容描述
		JTextPane propertiesReceiveText = new JTextPane();
		propertiesReceiveText.setBackground(SystemColor.activeCaptionBorder);
		propertiesReceiveText.setText("文件接收:");
		propertiesReceiveText.setBounds(14, 278, 141, 24);
		rightPanel.add(propertiesReceiveText);
		
		//文件接收数据显示区
		JTextArea propertiesReceiveArea = new JTextArea();
		propertiesReceiveArea.setEditable(true);
		propertiesReceiveArea.setLineWrap(true);
		propertiesReceiveArea.setColumns(10);
		//滚动条
		JScrollPane propertiesReceiveInfo =new JScrollPane(propertiesReceiveArea);
		propertiesReceiveInfo.setBounds(24,315,489,103);
		rightPanel.add(propertiesReceiveInfo);
		
		propertiesReceiveArea.getDocument().addDocumentListener(new DocumentListener() {
			
			@Override
			public void removeUpdate(DocumentEvent e) {
				// TODO Auto-generated method stub
				propertiesReceiveArea.setCaretPosition(propertiesReceiveArea.getText().length());
			}
			
			@Override
			public void insertUpdate(DocumentEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void changedUpdate(DocumentEvent e) {
				// TODO Auto-generated method stub
				
			}
		});
		
		//数据包文本内容描述
		JTextPane dataPacketReceiveText = new JTextPane();
		dataPacketReceiveText.setBackground(SystemColor.activeCaptionBorder);
		dataPacketReceiveText.setText("数据包接收:");
		dataPacketReceiveText.setBounds(14, 431, 141, 24);
		rightPanel.add(dataPacketReceiveText);
		
		//数据包数据显示区
		JTextArea datapacketReceiveArea = new JTextArea();
		datapacketReceiveArea.setRows(0);
		datapacketReceiveArea.setEditable(true);
		datapacketReceiveArea.setLineWrap(true);
		//滚动条
		JScrollPane datapacketReceiveInfo = new JScrollPane(datapacketReceiveArea);
		datapacketReceiveInfo.setBounds(24,468,489,103);
		rightPanel.add(datapacketReceiveInfo);
		datapacketReceiveArea.setColumns(10);
		datapacketReceiveArea.getDocument().addDocumentListener(new DocumentListener() {
			
			@Override
			public void removeUpdate(DocumentEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void insertUpdate(DocumentEvent e) {
				// TODO Auto-generated method stub
				datapacketReceiveArea.setCaretPosition(datapacketReceiveArea.getText().length());
			}
			
			@Override
			public void changedUpdate(DocumentEvent e) {
				// TODO Auto-generated method stub
				
			}
		});
		
		//实时数据订阅文本内容
		JTextPane textPane_1 = new JTextPane();
		textPane_1.setEditable(false);
		textPane_1.setBackground(SystemColor.activeCaptionBorder);
		textPane_1.setText("实时数据订阅:");
		textPane_1.setBounds(14, 584, 116, 24);
		rightPanel.add(textPane_1);
		
		//实时数据显示区子面板
		JPanel realTimepanel = new JPanel();
		realTimepanel.setBorder(new LineBorder(SystemColor.windowText));
		realTimepanel.setBounds(24, 621, 489, 293);
		rightPanel.add(realTimepanel);
		realTimepanel.setLayout(null);
		
		//实时数据主题号文本内容
		JTextPane textPane_2 = new JTextPane();
		textPane_2.setBackground(SystemColor.activeCaptionBorder);
		textPane_2.setText("主题号");
		textPane_2.setBounds(14, 13, 73, 24);
		realTimepanel.add(textPane_2);
		
		//主题号输入框
		topicTextAchieve = new JTextField();
		topicTextAchieve.setBounds(101, 13, 56, 24);
		realTimepanel.add(topicTextAchieve);
		topicTextAchieve.setColumns(10);
		
		//实时数据订阅按钮
		JButton subscribeButton = new JButton("订阅");
		subscribeButton.setBounds(171, 12, 86, 27);
		realTimepanel.add(subscribeButton);
		
		//实时数据显示区
		JTextArea rtDataShowArea = new JTextArea();
		rtDataShowArea.setRows(0);
		rtDataShowArea.setEditable(true);
		rtDataShowArea.setLineWrap(true);
		//滚动条
		JScrollPane rtDataInfo = new JScrollPane(rtDataShowArea);
		rtDataInfo.setBounds(13,51,471,218);
		realTimepanel.add(rtDataInfo);
		rtDataShowArea.setColumns(10);
		
		rtDataShowArea.getDocument().addDocumentListener(new DocumentListener() {
			
			@Override
			public void removeUpdate(DocumentEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void insertUpdate(DocumentEvent e) {
				// TODO Auto-generated method stub
				rtDataShowArea.setCaretPosition(rtDataShowArea.getText().length());
			}
			
			@Override
			public void changedUpdate(DocumentEvent e) {
				// TODO Auto-generated method stub
				
			}
		});
		
	}
	

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值