程序编译通过,但运行错误,错误提示如下: Exception in thread "main" java.lang.IllegalArgumentException:illegal anchor value 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java.lang.IllegalArgumentException说的很明确啊 不合法的参数异常你的参数传错了 说的很明确啊 IllegalArgumentException 不合法的参数异常你的参数传错了 那个高手能帮我看看这个程序: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;} 如何将JAVA源程序变成可执行程序 java初学正则表达式遇到的一个问题. 如何对存储过程返回的结果集进行分页? 字符串高手请进 在用java写代码时, 主函数前为什么要加static 一个关于HttpUrlConnection的错误捕捉问题,求助 新手测试第一个java不成功 san fen 网络问题,高手帮忙啊 一个比较弱智的问题 在线等答案,Graphics ! java SWT中如何监听一个Table中是否改变了选定的行?
你的参数传错了
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;
}