final interface is complete
Brought to you by:
rajeevcoder
hi final interface is ready
its code is:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.UIManager;
public class JFrameWindow extends JFrame{
JFrameWindow()
{
setLocation\(300,300\); setSize\(600,500\); setTitle\("MultiThreadedHTTPServer"\); setResizable\(false\); \} void addComponents\(\) \{ addTopPanel\(\); addBottomPanel\(\); addHBOX1\(\); addHBOX2\(\); addHBOX3\(\); addHBOX4\(\); addHBOX5\(\); addHBOX6\(\); addInVBOX\(\); addCentrePanel\(\); \} void makeVisibleTrue\(\) \{ setVisible\(true\); setDefaultCloseOperation\(JFrame.EXIT\_ON\_CLOSE\); \} private void addTopPanel\(\) \{ topPanel.setBackground\(Color.CYAN\) ; topLabel.setFont\(new Font\("Times Roman", Font.BOLD,18 \)\); topPanel.add\(topLabel\); getContentPane\(\).add\(topPanel,BorderLayout.NORTH\); \} private void addBottomPanel\(\) \{ serverLabel.setFont\(threadFont\); logLabel.setFont\(threadFont\); serverLabel.setForeground\(Color.RED\); logLabel.setForeground\(Color.RED\); bottomPanel.setBackground\(Color.CYAN\) ; Box hbox = Box.createHorizontalBox\(\); hbox.add\(serverStatusLabel\); hbox.add\(Box.createHorizontalStrut\(10\)\); hbox.add\(serverLabel\); hbox.add\(Box.createHorizontalStrut\(200\)\); hbox.add\(logFilelabel\); hbox.add\(Box.createHorizontalStrut\(10\)\); hbox.add\(logLabel\); bottomPanel.add\(hbox\); getContentPane\(\).add\(bottomPanel,BorderLayout.SOUTH\); \} private void addHBOX1\(\) \{ portField.setMaximumSize\(portField.getPreferredSize\(\)\); hbox1.add\(portLabel\); hbox1.add\(Box.createHorizontalStrut\(72\)\); hbox1.add\(portField\); portField.setText\("80"\); hbox1.add\(Box.createHorizontalStrut\(10\)\); hbox1.add\(egportLabel\); hbox1.add\(Box.createVerticalStrut\(50\)\); \} private void addHBOX2\(\) \{ workerThreadField.setMaximumSize\(workerThreadField.getPreferredSize\(\)\); hbox2.add\(workerThreadLabel\); hbox2.add\(Box.createHorizontalStrut\(24\)\); hbox2.add\(workerThreadField\); workerThreadField.setText\("25"\); hbox2.add\(Box.createHorizontalStrut\(10\)\); hbox2.add\(egworkerThreadLabel\); hbox2.add\(Box.createVerticalStrut\(50\)\); \} private void addHBOX3\(\) \{ timeOutField.setMaximumSize\(timeOutField.getPreferredSize\(\)\); hbox3.add\(timeOutForclients\); hbox3.add\(Box.createHorizontalStrut\(4\)\); hbox3.add\(timeOutField\); timeOutField.setText\("4000"\); hbox3.add\(Box.createHorizontalStrut\(10\)\); hbox3.add\(egtimeOUtLabel\); hbox3.add\(Box.createVerticalStrut\(50\)\); \} private void addHBOX4\(\) \{ rootDirectoryField.setMaximumSize\(rootDirectoryField.getPreferredSize\(\)\); hbox4.add\(rootDirectoryLabel\); hbox4.add\(Box.createHorizontalStrut\(20\)\); hbox4.add\(rootDirectoryField\); hbox4.add\(Box.createHorizontalStrut\(10\)\); hbox4.add\(rootDirectoryBrowseButton\); hbox4.add\(Box.createVerticalStrut\(50\)\); \} private void addHBOX5\(\) \{ threadLabel.setForeground\(Color.RED\); threadLabel.setFont\(threadFont\); threadCounter.setFont\(threadFont\); threadCounter.setForeground\(Color.RED\); hbox5.add\(threadLabel\); hbox5.add\(Box.createHorizontalStrut\(80\)\); hbox5.add\(threadCounter\); hbox5.add\(Box.createVerticalStrut\(100\)\); \} private void addHBOX6\(\) \{ hbox6.add\(startServer\); hbox6.add\(Box.createHorizontalStrut\(230\)\); hbox6.add\(stopServer\); hbox6.add\(Box.createVerticalStrut\(50\)\); \} private void addInVBOX\(\) \{ vbox.add\(hbox1\); vbox.add\(hbox2\); vbox.add\(hbox3\); vbox.add\(hbox4\); vbox.add\(hbox5\); vbox.add\(hbox6\); \} private void addCentrePanel\(\) \{ centerPanel.add\(vbox\); getContentPane\(\).add\(centerPanel,BorderLayout.CENTER\); \} private JPanel bottomPanel = new JPanel\(\); private JPanel topPanel = new JPanel\(\); private JPanel centerPanel= new JPanel\(\); private JLabel topLabel = new JLabel\("MultiThreaded HTTP Server"\); private JLabel portLabel = new JLabel\("Port Number :"\); private JTextField portField = new JTextField\(15\); private JLabel egportLabel= new JLabel\("\(e.g. 80\)"\); private JLabel workerThreadLabel = new JLabel\("Total Worker Threads :"\); private Font threadFont = new Font\("Times Roman",Font.ITALIC,12\); private JTextField workerThreadField= new JTextField\(15\); private JLabel egworkerThreadLabel = new JLabel\("\(e.g. 25 \(in thread pool\) \)"\); private JLabel timeOutForclients = new JLabel\("Timeout for Clients\(in ms\):"\); private JTextField timeOutField= new JTextField\(15\); private JLabel egtimeOUtLabel=new JLabel\("\(e.g. 4000 \(it is in milliseconds\) \)"\); private JLabel rootDirectoryLabel= new JLabel\("Root Serving Directory :"\); private JTextField rootDirectoryField= new JTextField\(15\); private JButton rootDirectoryBrowseButton= new JButton\("Browse"\); private JLabel threadLabel = new JLabel\("Current worker thread is : "\); private JLabel threadCounter= new JLabel\("Server is stopped."\); private JButton startServer= new JButton\("Start Server"\); private JButton stopServer = new JButton\("Stop Server"\); private JLabel serverStatusLabel= new JLabel\("Server Status :"\); private JLabel serverLabel = new JLabel\("Server is stopped "\); private JLabel logFilelabel= new JLabel\("Log Information : "\); private JLabel logLabel= new JLabel\("logs "\); private Box hbox1= Box.createHorizontalBox\(\); private Box hbox2= Box.createHorizontalBox\(\); private Box hbox3= Box.createHorizontalBox\(\); private Box hbox4= Box.createHorizontalBox\(\); private Box hbox5= Box.createHorizontalBox\(\); private Box hbox6= Box.createHorizontalBox\(\); private Box vbox = Box.createVerticalBox\(\);
}