import java.io.*;
import javax.swing.*;
import javax.swing.text.*;
import java.awt.*;              //for layout managers
import java.awt.event.*;        //for action and window events
import java.util.*;
//import java.net.URL;
//import java.io.IOException;
//import info.*;
public class addPolicyGUI1 extends JFrame implements ActionListener,ItemListener{
protected static final String textCondition="condition";
protected static final String textAnd="and";
protected static final String textOr="or";
protected static final String textAdd="Add";
protected static final String textClear="Clear";//used for twice ,left and right
protected static final String textCondName="Condition Name";
protected static final String textRelation="Relation";
protected static final String textValue="Value";
protected static final String textAction="Action";
protected static final String textAddPolicy="AddPolicy";
protected static final String textExit="Exit";

JLabel labelCondition,labelCondName,labelRelation,labelValue,labelAction;
JTextField textConditionField,textCondNameField,textValueField;
JTextArea textActionArea;
JButton addButton,clearButton,addPolicyButton,clearPolicyButton,exitButton;
JRadioButton radioButtonAnd, radioButtonOr;
JComboBox comboRelation;

public void itemStateChanged(ItemEvent e) {

}

public void actionPerformed(ActionEvent e)  {
        
    } // actionPerformed
    
    
  public void showAddPolicyGUI(){
   System.out.println("==>display the screen ");
  
  
   labelCondition=new JLabel(textCondition);
   textConditionField=new JTextField(10);
  
   radioButtonAnd=new JRadioButton(textAnd);
   radioButtonAnd.setActionCommand(textAnd);
   radioButtonOr=new JRadioButton(textOr);
   radioButtonOr.setActionCommand(textOr);
   ButtonGroup andOrGroup=new ButtonGroup();
   andOrGroup.add(radioButtonAnd);
   andOrGroup.add(radioButtonOr);
   radioButtonAnd.setSelected(true);
  
  
   addButton=new JButton(textAdd);
   clearButton=new JButton(textClear);
  
   labelCondName=new JLabel(textCondName);
   textCondNameField=new JTextField(10);
  
   labelRelation=new JLabel(textRelation);
   comboRelation=new JComboBox(new String[]{">","<","="});
  
   labelValue=new JLabel(textValue);
   textValueField=new JTextField(10);
  
   JPanel conditionPane=new JPanel();
   GridBagLayout gridbag1 = new GridBagLayout();
    GridBagConstraints c1 = new GridBagConstraints();
    conditionPane.setLayout(gridbag1); c1.gridwidth = GridBagConstraints.RELATIVE; 
    c1.fill = GridBagConstraints.NONE;
    c1.weightx = 1.0;
    c1.anchor=GridBagConstraints.WEST;
    makeComponent(labelCondition, gridbag1, c1 ,conditionPane);
    
    c1.weightx = 1.0;
    c1.gridwidth = GridBagConstraints.REMAINDER; 
    makeComponent(textConditionField, gridbag1, c1 ,conditionPane);    c1.weightx = 0.0;
    c1.gridwidth = GridBagConstraints.RELATIVE;
    c1.anchor=GridBagConstraints.CENTER;
    makeComponent(radioButtonAnd, gridbag1, c1 ,conditionPane);
    c1.gridwidth = GridBagConstraints.REMAINDER; 
    makeComponent(radioButtonOr, gridbag1, c1 ,conditionPane);
    
    c1.weightx = 0.0;
    c1.gridwidth = GridBagConstraints.RELATIVE;
    c1.anchor=GridBagConstraints.WEST;    
    makeComponent(labelCondName, gridbag1, c1 ,conditionPane);
    c1.gridwidth = GridBagConstraints.REMAINDER;
    makeComponent(textCondNameField, gridbag1, c1 ,conditionPane);
  
   c1.weightx = 0.0;
    c1.gridwidth = GridBagConstraints.RELATIVE;
    makeComponent(labelRelation, gridbag1, c1 ,conditionPane);
    c1.gridwidth = GridBagConstraints.REMAINDER;
    makeComponent(comboRelation, gridbag1, c1 ,conditionPane);
  
    c1.weightx = 0.0;
    c1.gridwidth = GridBagConstraints.RELATIVE;
    makeComponent(labelValue, gridbag1, c1 ,conditionPane);
    c1.gridwidth = GridBagConstraints.REMAINDER;
    makeComponent(textValueField, gridbag1, c1 ,conditionPane);
 
  c1.weightx = 0.0;
    c1.gridwidth = GridBagConstraints.RELATIVE;
    c1.anchor=GridBagConstraints.CENTER;
    makeComponent(addButton, gridbag1, c1 ,conditionPane);
    c1.gridwidth = GridBagConstraints.REMAINDER;
    makeComponent(clearButton, gridbag1, c1 ,conditionPane);
     JPanel actionPane=new JPanel();
   GridBagLayout gridbag2 = new GridBagLayout();
    GridBagConstraints c2 = new GridBagConstraints();
    actionPane.setLayout(gridbag2);
    
    c2.weightx = 0.0;
    c2.gridwidth = GridBagConstraints.RELATIVE;
  //  c2.gridwidth = GridBagConstraints.RELATIVE; 
    c2.fill = GridBagConstraints.NONE;
    c2.anchor=GridBagConstraints.CENTER;
    makeComponent(labelAction, gridbag2, c2 ,actionPane);
     
    JPanel leftPane = new JPanel();
     leftPane.setBorder(BorderFactory.createCompoundBorder(
                        BorderFactory.createTitledBorder("condition"),
                        BorderFactory.createEmptyBorder(5,5,5,5)));    
    BoxLayout leftBox = new BoxLayout(leftPane, BoxLayout.Y_AXIS);
    leftPane.setLayout(leftBox);
    leftPane.add(conditionPane);
    JPanel rightPane = new JPanel();
    rightPane.setBorder(BorderFactory.createCompoundBorder(
                        BorderFactory.createTitledBorder("action"),
                        BorderFactory.createEmptyBorder(5,5,5,5)));
    BoxLayout rightBox = new BoxLayout(rightPane, BoxLayout.Y_AXIS);
    rightPane.setLayout(rightBox);
    rightPane.add(actionPane);
    JPanel contentPane = new JPanel();
    BoxLayout box = new BoxLayout(contentPane, BoxLayout.X_AXIS);
    contentPane.setLayout(box);
    contentPane.add(leftPane);
    contentPane.add(rightPane);
    setContentPane(contentPane);  
  
  }
  
  public void makeComponent(JComponent compt,
                               GridBagLayout gridbag,
                               GridBagConstraints c,
                               Container conter ) {
         gridbag.setConstraints(compt, c);
         conter.add(compt,c);
     }
/*
  
  public void add(Component c ,GridBagConstraints gbc,int x,int y ,int w, int h){
gbc.gridx=x;
gbc.gridy=y;
gbc.gridwidth=w;
gbc.gridheight=h;
getContentPane().add(c,gbc);
}
*/  
  public addPolicyGUI1(String title) {
        super(title);
showAddPolicyGUI();
}  
public static void main(String[] args) {
    JFrame frame = new addPolicyGUI1("addPolicyGUI1");
  frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {System.exit(0);}
        });
       
frame.pack();
      frame.setVisible(true);
      frame.setSize(frame.getPreferredSize());
      frame.setLocation(100,100);
    
    }

}