Exception in thread "main" java.lang.IllegalArgumentException:illegal anchor value

解决方案 »

  1.   

    java.lang.IllegalArgumentException说的很明确啊   不合法的参数异常
    你的参数传错了
      

  2.   

    说的很明确啊    IllegalArgumentException  不合法的参数异常你的参数传错了
      

  3.   

    那个高手能帮我看看这个程序:
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.Font;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.BorderFactory;
    import javax.swing.Box;
    import javax.swing.ButtonGroup;
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JRadioButton;
    import javax.swing.JTextField;
    import javax.swing.border.Border;
    import java.util.Vector;
    public class Register_GUI{
      public Register_GUI(){
        RegisterFrame rf = new RegisterFrame();
        rf.setVisible(true);
      }
      public static void main(String[] args){
        new Register_GUI();
      }
    }
    class RegisterFrame extends JFrame{
    private Toolkit tool;
    public RegisterFrame(){
    setTitle("用户名");
    tool=Toolkit.getDefaultToolkit();
    Dimension ds=tool.getScreenSize();
    int w=ds.width;
    int h=ds.height;
    setBounds((w-300)/2,(h-300)/2,300,300);
    setResizable(false);
    RegisterPanel rp=new RegisterPanel(this);
    add(rp);
    }
    }
    class RegisterPanel extends JPanel implements ActionListener{
    private JLabel titlelabel,namelabel,pwdlabel1,pwdlabel2,sexlabel,agelabel,classlabel;
    private JTextField namefield,agefield;
    private JPasswordField pwdfield1,pwdfield2;
    private JButton commitbtn,resetbtn,cancelbtn;
    private JRadioButton rbtn1,rbtn2;
    private JComboBox combo;
    private Vector<String>v;
    private GridBagLayout gbl;
    private GridBagConstraints gbc;
    private JPanel panel;
    private  Box box;
    private JFrame iframe;
    public RegisterPanel(JFrame frame){
    iframe=frame;
    titlelabel=new JLabel("用户注册");
    titlelabel.setFont(new Font("隶书",Font.BOLD,24));
    namelabel=new JLabel("用户名: ");
    pwdlabel1=new JLabel("密码: ");
    pwdlabel2=new JLabel("确认密码: ");
    sexlabel=new JLabel("性别: ");
    agelabel=new JLabel("年龄:");
    classlabel=new JLabel("所属班级:");
    namefield=new JTextField(16);
    pwdfield1=new JPasswordField(16);
    pwdfield1.setEchoChar('*');
    pwdfield2=new JPasswordField(16);
    pwdfield2.setEchoChar('*');
    agefield=new JTextField(16);
    rbtn1=new JRadioButton("男");
    rbtn2=new JRadioButton("女");
    rbtn1.setSelected(true);
    ButtonGroup bg=new ButtonGroup();
    bg.add(rbtn1);
    bg.add(rbtn2);
    v=new Vector<String>();
    v.add("软件英语053");
    v.add("软件英语052");
    v.add("软件英语051");
    v.add("计算机应用051");
    v.add("计算机应用052");
    combo=new JComboBox(v);
    commitbtn=new JButton("注册");
    commitbtn.addActionListener(this);
    resetbtn=new JButton("重置");
    resetbtn.addActionListener(this);
    cancelbtn=new JButton("取消");
    cancelbtn.addActionListener(this);
    panel=new JPanel();
    panel.add(rbtn1);
    panel.add(rbtn2);
    Border border=BorderFactory.createTitledBorder("");
    panel.setBorder(border);
    box=Box.createHorizontalBox();
    box.add(commitbtn);
    box.add(Box.createHorizontalStrut(30));
    box.add(resetbtn);
    box.add(Box.createHorizontalStrut(30));
    box.add(cancelbtn);
    gbl=new GridBagLayout();
    setLayout(gbl);
    gbc=new GridBagConstraints();
    addCompnent(titlelabel,0,0,4,1);
    add(Box.createVerticalStrut(20));
    gbc.anchor=GridBagConstraints.CENTER;
    gbc.anchor=GridBagConstraints.HORIZONTAL;
    gbc.weightx=0;
    gbc.weighty=100;
    addCompnent(namelabel,0,1,1,1);
    addCompnent(namefield,1,1,4,1);
    addCompnent(pwdlabel1,0,2,1,1);
    addCompnent(pwdfield1,1,2,4,1);
    addCompnent(pwdlabel2,0,3,1,1);
    addCompnent(pwdfield2,1,3,4,1);
    addCompnent(sexlabel,0,4,1,1);
    addCompnent(panel,1,4,1,1);
    gbc.anchor=GridBagConstraints.EAST;
    gbc.fill=GridBagConstraints.NONE;
    addCompnent(agelabel,2,4,1,1);
    gbc.fill=GridBagConstraints.HORIZONTAL;
    addCompnent(agefield,3,4,2,1);
    addCompnent(classlabel,0,5,1,1);
    addCompnent(combo,1,5,4,1);
    gbc.anchor=GridBagConstraints.CENTER;
    gbc.fill=GridBagConstraints.NONE;
    addCompnent(box,0,6,4,1);
    }
    public void addCompnent(Component c,int x,int y,int w,int h){
    gbc.gridx=x;
    gbc.gridy=y;
    gbc.gridwidth=w;
    gbc.gridheight=h;
    add(c,gbc);
    }
    public void actionPerformed(ActionEvent e){
    if(e.getSource()==commitbtn){
      Register rinfo=new Register();
      rinfo.name=namefield.getText().trim();
      rinfo.password=new String(pwdfield1.getPassword());
      rinfo.sex=rbtn1.isSelected()?"男":"女";
      rinfo.age=agefield.getText().trim();
      rinfo.nclass=combo.getSelectedItem().toString();
      if(rinfo.name.length()==0){
        JOptionPane.showMessageDialog(null,"\t用户名不能为空");
        return;
      }
      if(rinfo.password.length()==0){
        JOptionPane.showMessageDialog(null,"\t密码不能为空");
        return;
      }
      if(!rinfo.password.equals(new String(pwdfield2.getPassword()))){
        JOptionPane.showMessageDialog(null,"密码两次输入不一致,请重新输入");
        return;
      }
      if(rinfo.age.length()==0){
         JOptionPane.showMessageDialog(null,"\t年龄不能为空");
         return;
      }
     int age=Integer.parseInt(rinfo.age);
      if(age<=0||age>100){
        JOptionPane.showMessageDialog(null,"\t年龄输入不合法");
         return;
      }
    JOptionPane.showMessageDialog(null,"\t注册成功!");
    }
      if(e.getSource()==resetbtn){
         namefield.setText("");
         pwdfield1.setText("");
         pwdfield2.setText("");
         rbtn1.isSelected();
         agefield.setText("");
         combo.setSelectedIndex(0);
       }
      if(e.getSource()==cancelbtn){
        iframe.dispose();
      }
    }
    }
    class Register{
    String name;
    String password;
    String sex;
    String age;
    String nclass;
    }