错误提示:
exception in thread "main" java.lasng.IllegalArgumentExcption:
adding container's parent to itself
at java.awt.Container.addImpl<Unkown Source>
at java.awt.Container.add<Unknow Source>
at addressbook.createUserInterface<addressbook.java:73>
at addressbook.<init><addressbook.java:42>
at addressbook.main<addressbook.java:165>源代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class addressbook extends JFrame
{
private JLabel firstNameJLabel;
private JTextField firstNameJTextField;
private JLabel lastNameJLabel;
private JTextField lastNameJTextField;
private JLabel addressJLabel;
private JTextField addressJTextField;
private JLabel cityJLabel;
private JTextField cityJTextField;
private JLabel stateJLabel;
private JTextField stateJTextField;
private JLabel zipJLabel;
private JTextField zipJTextField;
private JLabel emailJLabel;
private JTextField emailTextField;
private JLabel phoneJLabel;
private JTextField phoneJTextField;
private JLabel mobileJLabel;
private JTextField mobileJTextField;
private JLabel beeperJLabel;
private JTextField beeperJTextField;
private JButton saveJButton;
private JButton clearJButton; public addressbook()
{
createUserInterface();
}
public void createUserInterface()
{
Container container = getContentPane();
container.setLayout( null );
firstNameJLabel = new JLabel();
firstNameJLabel.setBounds( 16,16,64,21 );
firstNameJLabel.setText( "first name:" );
container.add( firstNameJLabel );
firstNameJTextField = new JTextField();
firstNameJTextField.setBounds( 88, 16, 134, 21 );
firstNameJTextField.setText( "john" );
container.add( firstNameJTextField );
lastNameJLabel = new JLabel();
lastNameJLabel.setBounds( 24,16,64,32 );
lastNameJLabel.setText( "last name" );
container.add( lastNameJLabel );
lastNameJTextField = new JTextField();
lastNameJTextField.setBounds( 314, 16, 134, 21 );
lastNameJTextField.setText( "doe" );
container.add( lastNameJTextField );
addressJLabel = new JLabel();
addressJLabel.setText( "address" );
//addressJLabel.setBounds( addressJLabel );
addressJLabel.add( addressJLabel );
addressJTextField = new JTextField();
addressJTextField.setText( "123 main street" );
container.add( addressJTextField );
cityJLabel = new JLabel();
cityJLabel.setBounds( 16, 96, 32, 21 );
cityJLabel.setText( "city:" );
container.add( cityJLabel );
cityJTextField = new JTextField();
cityJTextField.setBounds( 88, 96, 112, 21 );
cityJTextField.setText( "some town" );
container.add( cityJTextField );
stateJLabel = new JLabel();
stateJLabel.setBounds( 222, 96, 40, 21 );
stateJLabel.setText( "state:" );
container.add( stateJLabel );
stateJTextField = new JTextField();
stateJTextField.setBounds( 270, 96, 32, 21 );
stateJTextField.setText( "MA" );
container.add( stateJTextField );
zipJLabel = new JLabel();
zipJLabel.setBounds( 270,96,32,21 );
zipJLabel.setText( "zip" );
container.add( zipJLabel );
zipJTextField = new JTextField();
zipJTextField.setBounds( 360, 96, 88, 21 );
zipJTextField.setText( "00000" );
container.add( zipJTextField );
emailJLabel = new JLabel();
emailJLabel.setBounds( 360,96,88,21 );
emailJLabel.setText("e-mail");
container.add( emailJLabel );
emailTextField = new JTextField();
emailTextField.setBounds( 88, 136, 176, 21 );
emailTextField.setText( "[email protected]" );
container.add( emailTextField );
phoneJLabel = new JLabel();
phoneJLabel.setBounds( 280,136,40,21 );
phoneJLabel.setText( "phone" );
container.add( phoneJLabel );
phoneJTextField = new JTextField();
phoneJTextField.setBounds(336,136,112,21);
phoneJTextField.setText( "781-555-4567" );
container.add( phoneJTextField );
mobileJLabel = new JLabel();
mobileJLabel.setBounds( 16,176,50,21 );
mobileJLabel.setText( "Mobile:" );
container.add( mobileJLabel );
mobileJTextField = new JTextField();
mobileJTextField.setBounds( 88,176,176,21 );
mobileJTextField.setText( "978-555-6541" );
container.add( mobileJTextField );
beeperJLabel = new JLabel();
beeperJLabel.setBounds( 280,176,48,21 );
beeperJLabel.setText( "beeper:" );
container.add( beeperJLabel );
beeperJTextField = new JTextField();
beeperJTextField.setBounds( 336,176,112,21 );
beeperJTextField.setText("508-555-7896");
container.add( beeperJTextField );
saveJButton = new JButton();
saveJButton.setBounds( 284,216,75,23 );
saveJButton.setText("save");
container.add( saveJButton );
clearJButton = new JButton();
clearJButton.setBounds( 373,216,75,23 );
clearJButton.setText( "clear" );
container.add( clearJButton );
setTitle( "address book" );
setSize( 472,280 );
setVisible( true );
}
public static void main( String[] args )
{
addressbook application = new addressbook();
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
}
exception in thread "main" java.lasng.IllegalArgumentExcption:
adding container's parent to itself
at java.awt.Container.addImpl<Unkown Source>
at java.awt.Container.add<Unknow Source>
at addressbook.createUserInterface<addressbook.java:73>
at addressbook.<init><addressbook.java:42>
at addressbook.main<addressbook.java:165>源代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class addressbook extends JFrame
{
private JLabel firstNameJLabel;
private JTextField firstNameJTextField;
private JLabel lastNameJLabel;
private JTextField lastNameJTextField;
private JLabel addressJLabel;
private JTextField addressJTextField;
private JLabel cityJLabel;
private JTextField cityJTextField;
private JLabel stateJLabel;
private JTextField stateJTextField;
private JLabel zipJLabel;
private JTextField zipJTextField;
private JLabel emailJLabel;
private JTextField emailTextField;
private JLabel phoneJLabel;
private JTextField phoneJTextField;
private JLabel mobileJLabel;
private JTextField mobileJTextField;
private JLabel beeperJLabel;
private JTextField beeperJTextField;
private JButton saveJButton;
private JButton clearJButton; public addressbook()
{
createUserInterface();
}
public void createUserInterface()
{
Container container = getContentPane();
container.setLayout( null );
firstNameJLabel = new JLabel();
firstNameJLabel.setBounds( 16,16,64,21 );
firstNameJLabel.setText( "first name:" );
container.add( firstNameJLabel );
firstNameJTextField = new JTextField();
firstNameJTextField.setBounds( 88, 16, 134, 21 );
firstNameJTextField.setText( "john" );
container.add( firstNameJTextField );
lastNameJLabel = new JLabel();
lastNameJLabel.setBounds( 24,16,64,32 );
lastNameJLabel.setText( "last name" );
container.add( lastNameJLabel );
lastNameJTextField = new JTextField();
lastNameJTextField.setBounds( 314, 16, 134, 21 );
lastNameJTextField.setText( "doe" );
container.add( lastNameJTextField );
addressJLabel = new JLabel();
addressJLabel.setText( "address" );
//addressJLabel.setBounds( addressJLabel );
addressJLabel.add( addressJLabel );
addressJTextField = new JTextField();
addressJTextField.setText( "123 main street" );
container.add( addressJTextField );
cityJLabel = new JLabel();
cityJLabel.setBounds( 16, 96, 32, 21 );
cityJLabel.setText( "city:" );
container.add( cityJLabel );
cityJTextField = new JTextField();
cityJTextField.setBounds( 88, 96, 112, 21 );
cityJTextField.setText( "some town" );
container.add( cityJTextField );
stateJLabel = new JLabel();
stateJLabel.setBounds( 222, 96, 40, 21 );
stateJLabel.setText( "state:" );
container.add( stateJLabel );
stateJTextField = new JTextField();
stateJTextField.setBounds( 270, 96, 32, 21 );
stateJTextField.setText( "MA" );
container.add( stateJTextField );
zipJLabel = new JLabel();
zipJLabel.setBounds( 270,96,32,21 );
zipJLabel.setText( "zip" );
container.add( zipJLabel );
zipJTextField = new JTextField();
zipJTextField.setBounds( 360, 96, 88, 21 );
zipJTextField.setText( "00000" );
container.add( zipJTextField );
emailJLabel = new JLabel();
emailJLabel.setBounds( 360,96,88,21 );
emailJLabel.setText("e-mail");
container.add( emailJLabel );
emailTextField = new JTextField();
emailTextField.setBounds( 88, 136, 176, 21 );
emailTextField.setText( "[email protected]" );
container.add( emailTextField );
phoneJLabel = new JLabel();
phoneJLabel.setBounds( 280,136,40,21 );
phoneJLabel.setText( "phone" );
container.add( phoneJLabel );
phoneJTextField = new JTextField();
phoneJTextField.setBounds(336,136,112,21);
phoneJTextField.setText( "781-555-4567" );
container.add( phoneJTextField );
mobileJLabel = new JLabel();
mobileJLabel.setBounds( 16,176,50,21 );
mobileJLabel.setText( "Mobile:" );
container.add( mobileJLabel );
mobileJTextField = new JTextField();
mobileJTextField.setBounds( 88,176,176,21 );
mobileJTextField.setText( "978-555-6541" );
container.add( mobileJTextField );
beeperJLabel = new JLabel();
beeperJLabel.setBounds( 280,176,48,21 );
beeperJLabel.setText( "beeper:" );
container.add( beeperJLabel );
beeperJTextField = new JTextField();
beeperJTextField.setBounds( 336,176,112,21 );
beeperJTextField.setText("508-555-7896");
container.add( beeperJTextField );
saveJButton = new JButton();
saveJButton.setBounds( 284,216,75,23 );
saveJButton.setText("save");
container.add( saveJButton );
clearJButton = new JButton();
clearJButton.setBounds( 373,216,75,23 );
clearJButton.setText( "clear" );
container.add( clearJButton );
setTitle( "address book" );
setSize( 472,280 );
setVisible( true );
}
public static void main( String[] args )
{
addressbook application = new addressbook();
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
}
import java.awt.event.*;
import javax.swing.*;public class addressbook extends JFrame
{
private JLabel firstNameJLabel;
private JTextField firstNameJTextField;
private JLabel lastNameJLabel;
private JTextField lastNameJTextField;
private JLabel addressJLabel;
private JTextField addressJTextField;
private JLabel cityJLabel;
private JTextField cityJTextField;
private JLabel stateJLabel;
private JTextField stateJTextField;
private JLabel zipJLabel;
private JTextField zipJTextField;
private JLabel emailJLabel;
private JTextField emailTextField;
private JLabel phoneJLabel;
private JTextField phoneJTextField;
private JLabel mobileJLabel;
private JTextField mobileJTextField;
private JLabel beeperJLabel;
private JTextField beeperJTextField;
private JButton saveJButton;
private JButton clearJButton; public addressbook()
{
createUserInterface();
}
public void createUserInterface()
{
Container container = getContentPane();
container.setLayout( null );
firstNameJLabel = new JLabel();
firstNameJLabel.setBounds( 16,16,64,21 );
firstNameJLabel.setText( "first name:" );
container.add( firstNameJLabel );
firstNameJTextField = new JTextField();
firstNameJTextField.setBounds( 88, 16, 134, 21 );
firstNameJTextField.setText( "john" );
container.add( firstNameJTextField );
lastNameJLabel = new JLabel();
lastNameJLabel.setBounds( 24,16,64,32 );
lastNameJLabel.setText( "last name" );
container.add( lastNameJLabel );
lastNameJTextField = new JTextField();
lastNameJTextField.setBounds( 314, 16, 134, 21 );
lastNameJTextField.setText( "doe" );
container.add( lastNameJTextField );
addressJLabel = new JLabel();
addressJLabel.setText( "address" );
//addressJLabel.setBounds( addressJLabel );
container.add( addressJLabel ); // 更改
addressJTextField = new JTextField();
addressJTextField.setText( "123 main street" );
container.add( addressJTextField );
cityJLabel = new JLabel();
cityJLabel.setBounds( 16, 96, 32, 21 );
cityJLabel.setText( "city:" );
container.add( cityJLabel );
cityJTextField = new JTextField();
cityJTextField.setBounds( 88, 96, 112, 21 );
cityJTextField.setText( "some town" );
container.add( cityJTextField );
stateJLabel = new JLabel();
stateJLabel.setBounds( 222, 96, 40, 21 );
stateJLabel.setText( "state:" );
container.add( stateJLabel );
stateJTextField = new JTextField();
stateJTextField.setBounds( 270, 96, 32, 21 );
stateJTextField.setText( "MA" );
container.add( stateJTextField );
zipJLabel = new JLabel();
zipJLabel.setBounds( 270,96,32,21 );
zipJLabel.setText( "zip" );
container.add( zipJLabel );
zipJTextField = new JTextField();
zipJTextField.setBounds( 360, 96, 88, 21 );
zipJTextField.setText( "00000" );
container.add( zipJTextField );
emailJLabel = new JLabel();
emailJLabel.setBounds( 360,96,88,21 );
emailJLabel.setText("e-mail");
container.add( emailJLabel );
emailTextField = new JTextField();
emailTextField.setBounds( 88, 136, 176, 21 );
emailTextField.setText( "[email protected]" );
container.add( emailTextField );
phoneJLabel = new JLabel();
phoneJLabel.setBounds( 280,136,40,21 );
phoneJLabel.setText( "phone" );
container.add( phoneJLabel );
phoneJTextField = new JTextField();
phoneJTextField.setBounds(336,136,112,21);
phoneJTextField.setText( "781-555-4567" );
container.add( phoneJTextField );
mobileJLabel = new JLabel();
mobileJLabel.setBounds( 16,176,50,21 );
mobileJLabel.setText( "Mobile:" );
container.add( mobileJLabel );
mobileJTextField = new JTextField();
mobileJTextField.setBounds( 88,176,176,21 );
mobileJTextField.setText( "978-555-6541" );
container.add( mobileJTextField );
beeperJLabel = new JLabel();
beeperJLabel.setBounds( 280,176,48,21 );
beeperJLabel.setText( "beeper:" );
container.add( beeperJLabel );
beeperJTextField = new JTextField();
beeperJTextField.setBounds( 336,176,112,21 );
beeperJTextField.setText("508-555-7896");
container.add( beeperJTextField );
saveJButton = new JButton();
saveJButton.setBounds( 284,216,75,23 );
saveJButton.setText("save");
container.add( saveJButton );
clearJButton = new JButton();
clearJButton.setBounds( 373,216,75,23 );
clearJButton.setText( "clear" );
container.add( clearJButton );
setTitle( "address book" );
setSize( 472,280 );
setVisible( true );
}
public static void main( String[] args )
{
addressbook application = new addressbook();
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
}
addressJLabel.setText( "address" );
//addressJLabel.setBounds( addressJLabel );
// addressJLabel.add( addressJLabel ); 这里引用自己的组件!
更改为:container.add( addressJLabel );
// addressJLabel.add( addressJLabel );
我一输入container它就自动变成大写的了Container
//Container.add( addressJLabel );
container.add( addressJLabel );