xitiomet / placebohttp (http://openstatic.org/)

Embeded Http server for gcj/java applications. PlaceboHttp uses an automatic session management system, Treating each session as a HttpRequest queue.

Clone this repository (size: 135.2 KB): HTTPS / SSH
$ hg clone http://hg.openstatic.org/placebohttp
commit 17: 8b48faa4e88d
parent 16: 2701ebc61574
branch: default
Fixed layout of ControlPanel
xitiomet
9 months ago
r17:8b48faa4e88d 77 loc 2.3 KB embed / history / annotate / raw /
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
import java.awt.GridLayout;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.Dimension;
import javax.swing.JTabbedPane;

public class ControlPanel extends JFrame
{
    public static void main(String[] args)
    {
    ControlPanel x = new ControlPanel();
    }

    public void centerWindow()
    {
        Toolkit tk = Toolkit.getDefaultToolkit();
        Dimension screenSize = tk.getScreenSize();
        final int WIDTH = screenSize.width;
        final int HEIGHT = screenSize.height;
        this.setSize(420, 240);
        this.setLocation(WIDTH / 2 - 210, HEIGHT / 2 - 120);
    }

    public ControlPanel()
    {
        super("Placebo Web Server");
        
        JTabbedPane tabbed = new JTabbedPane();
        
        JPanel main_pane = new JPanel();
        // Left Side thingy
        JPanel pane = new JPanel(new GridLayout(0,2,6,6));
        pane.setSize(50,100);
        JLabel port_label = new JLabel("Port:", JLabel.TRAILING);
        JTextField port_field = new JTextField(10);

        JLabel root_label = new JLabel("Web Root:", JLabel.TRAILING);
        JTextField root_field = new JTextField(10);

        JButton start_btn = new JButton("Start Server");
        JButton stop_btn = new JButton("Stop Server");

        pane.add(port_label);
        pane.add(port_field);
        pane.add(root_label);
        pane.add(root_field);
        main_pane.add(pane);
        
        JPanel button_pane = new JPanel(new GridLayout(0,2,6,6));
        button_pane.add(start_btn);
        button_pane.add(stop_btn);
        main_pane.add(button_pane);

        tabbed.addTab("Setup Placebo", null, main_pane, "");
        
        // Right Side

        JTextArea log_box = new JTextArea();
        JScrollPane scroller = new JScrollPane(log_box);
        scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        tabbed.addTab("Server Log", null, scroller, "");

        // finish window
        this.add(tabbed);
        centerWindow();
        this.setVisible(true);
    }
}