package com.e2u.gui;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class GridBagPanel extends JPanel
{
private GridLocator locator = new GridLocator(4);
private JLabel serverLabel = new JLabel("Server:");
private JTextField serverField = new JTextField();
private JLabel serverDescriptionLabel = new JLabel("Server Address");
private JLabel portLabel = new JLabel("Port:");
private JTextField portField = new JTextField();
private JLabel portDescriptionLabel = new JLabel("Port Number");
private JButton submitBtn = new JButton("Submit");
private JButton resetBtn = new JButton("Reset");
private JButton defaultBtn = new JButton("Default");
public GridBagPanel()
{
initGUI();
addListeners();
setDefaultValues();
}
private void initGUI()
{
JPanel inputPanel = new JPanel();
inputPanel.setLayout(new GridBagLayout());
inputPanel.add(serverLabel, new GridBagConstraints(locator.getGridX(), locator.getGridY(), 1, 1, 0.0, 0.0,
GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(10, 5, 0, 5), 0, 0));
inputPanel.add(createRedStarLabel(), new GridBagConstraints(locator.getGridX(), locator.getGridY(), 1, 1, 0.0, 0.0,
GridBagConstraints.EAST, GridBagConstraints.HORIZONTAL, new Insets(10, 15, 0, 5), 0, 0));
inputPanel.add(serverField, new GridBagConstraints(locator.getGridX(), locator.getGridY(), 1, 1, 1.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(10, 5, 0, 5), 0, 0));
inputPanel.add(serverDescriptionLabel, new GridBagConstraints(locator.getGridX(), locator.getGridY(), 1, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(10, 0, 0, 15), 0, 0));
inputPanel.add(portLabel, new GridBagConstraints(locator.getGridX(), locator.getGridY(), 1, 1, 0.0, 0.0,
GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 0, 5), 0, 0));
inputPanel.add(createRedStarLabel(), new GridBagConstraints(locator.getGridX(), locator.getGridY(), 1, 1, 0.0, 0.0,
GridBagConstraints.EAST, GridBagConstraints.HORIZONTAL, new Insets(5, 15, 0, 5), 0, 0));
inputPanel.add(portField, new GridBagConstraints(locator.getGridX(), locator.getGridY(), 1, 1, 1.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 0, 5), 0, 0));
inputPanel.add(portDescriptionLabel, new GridBagConstraints(locator.getGridX(), locator.getGridY(), 1, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 0, 0, 15), 0, 0));
JPanel btnPanel = new JPanel();
btnPanel.setLayout(new FlowLayout());
btnPanel.add(submitBtn, new FlowLayout(FlowLayout.CENTER, 7, 7));
btnPanel.add(resetBtn, new FlowLayout(FlowLayout.CENTER, 7, 7));
btnPanel.add(defaultBtn, new FlowLayout(FlowLayout.CENTER, 7, 7));
this.setLayout(new BorderLayout());
this.add(inputPanel, BorderLayout.NORTH);
this.add(btnPanel, BorderLayout.SOUTH);
}
private void addListeners()
{
}
private void setDefaultValues()
{
}
private JLabel createRedStarLabel()
{
JLabel starLabel = new JLabel("*");
Font defaultFont = starLabel.getFont();
Font font = new Font(defaultFont.getName(), Font.BOLD, defaultFont.getSize() + 5);
starLabel.setFont(font);
starLabel.setForeground(Color.RED);
return starLabel;
}
}