Nicba1010 icon

TCPServer

Nicba1010 | PRO | 01/20/14 09:06:44 PM UTC | 0 ⭐ | 279 👁️ | Never ⏰ | []
text |

4.01 KB

|

None

|

0 👍

/

0 👎

package infoKupProcess;
 import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowStateListener;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
 import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
 class TCPServer extends JFrame {
	private int screenWidth = 800, screenHeight = 600;
	JButton quitButton;
	JScrollPane procScroll;
	static ServerSocket inSocket;
	static int selectedIndex;
	private static boolean running = false;
	static ProcessesList processList1;
	public JFrame mainFrame = this;
	public static Socket connectionSocket;
 	public TCPServer() {
		initUI();
	}
 	public void initUI() {
		setTitle("TCPServer");
 		JPanel panel = new JPanel();
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		getContentPane().add(panel);
		// panel.setLayout(new BorderLayout());
		panel.setLayout(null);
		setSize(screenWidth, screenHeight);
		setLocationRelativeTo(null);
		{
			quitButton = new JButton("Ugasi");
			quitButton.setBounds(mainFrame.getWidth() - 80 - 16,
					mainFrame.getHeight() - 30 * 2 - 8, 80, 30);
 			quitButton.addActionListener(new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent event) {
					running = false;
					try {
						inSocket.close();
					} catch (IOException e) {
						e.printStackTrace();
					}
					System.exit(0);
				}
			});
			panel.add(quitButton);
		}
 		this.addWindowStateListener(new WindowStateListener() {
 			@Override
			public void windowStateChanged(WindowEvent e) {
				System.out.println(e.getNewState());
				quitButton.setBounds(mainFrame.getWidth() - 80 - 16,
						mainFrame.getHeight() - 30 * 2 - 8, 80, 30);
			}
		});
		{
			processList1 = new ProcessesList(0, 0, 150, 400, panel);
		}
		System.out.println(this.getWidth());
		{
			// procList = new JList<String>(processesList);
			// procList.setListData(processesList);
			// procList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
			// procList.addListSelectionListener(new ListSelectionListener() {
			//
			// @Override
			// public void valueChanged(ListSelectionEvent e) {
			// if (procList.getSelectedIndex() == -1) {
			//
			// } else {
			// if (selectedIndex != procList.getSelectedIndex()) {
			// System.out.println(procList.getSelectedIndex());
			// selectedIndex = procList.getSelectedIndex();
			// }
			// }
			// }
			// });
			//
			// procScroll = new JScrollPane(procList);
			// procScroll.setPreferredSize(new Dimension(150, 400));
			//
			// JPanelProcList procPanel = new JPanelProcList();
			// procPanel.add(procScroll);
			// // procPanel.setBorder(new EmptyBorder(0,-223,150,400));
			// procPanel.setBounds(0, 0, 150, 400);
			// panel.add(procPanel);
		}
	}
 	public static void main(String argv[]) throws Exception {
		running = true;
		SwingUtilities.invokeLater(new Runnable() {
			@Override
			public void run() {
				TCPServer ex = new TCPServer();
				ex.setVisible(true);
			}
		});
		processProcesses();
	}
 	public static void processProcesses() throws Exception {
		String clientSentence;
		inSocket = new ServerSocket(25565);
		while (running) {
			connectionSocket = inSocket.accept();
			BufferedReader inFromClient = new BufferedReader(
					new InputStreamReader(connectionSocket.getInputStream()));
 			clientSentence = inFromClient.readLine();
			// processes = clientSentence;
			if (clientSentence != null)
				processList1.setData(clientSentence.split(":"));
			// processesList = processes.split(":");
			// procList.setListData(processesList);
			// procList.setSelectedIndex(selectedIndex);
			DataOutputStream outToClient = new DataOutputStream(
					TCPServer.connectionSocket.getOutputStream());
			outToClient.writeBytes("killpr");
		}
	}
 }

Comments