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);
}
}
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);
}
}
你真厉害,我可是随便加一个按钮时才发现的!