为什么我的pfield组件(JPasswordField类)不按我指定的位置放置,而总是出现在中间一行
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;public class login implements ActionListener
{
JFrame frame1=new JFrame("登陆");
JLabel label1=new JLabel("用户ID");
JLabel label2=new JLabel("用户口令");
JTextField textfield1=new JTextField();
JTextField pfield1=new JTextField();
JTextField textfield2=new JTextField();
//JPasswordField pfield1=new JPasswordField();
JButton button1=new JButton("确认");
JButton button2=new JButton("清除"); public void go(){
Container contentPane1 = frame1.getContentPane();
contentPane1.add(button1);
contentPane1.add(button2);
contentPane1.add(label1);
contentPane1.add(label2);
contentPane1.add(textfield1);
contentPane1.add(textfield2);
contentPane1.add(pfield1); frame1.setSize(500,300);
label1.setBounds(50,30,100,30);
label2.setBounds(50,60,100,30);
textfield1.setBounds(250,30,200,30);
textfield2.setBounds(100,210,300,30);
//pfield1.setLocation(250,60);
pfield1.setBounds(250,60,100,30);
button1.setBounds(100,150,100,30);
button2.setBounds(300,150,100,30);
textfield2.setEnabled(false); frame1.setVisible(true);
/*label1.setVisible(true);
label2.setVisible(true);
textfield1.setVisible(true);
textfield1.setVisible(true);
pfield1.setVisible(true);
button1.setVisible(true);
button2.setVisible(true);*/ button1.addActionListener(this);
button2.addActionListener(this);
} public static void main(String[] args)
{
login pr=new login();
pr.go();
}
public void actionPerformed(ActionEvent event)
{
JButton baction = (JButton) event.getSource();
if(baction == button1 ){
if (textfield1.getText().equals("javaclass"))
{
if (pfield1.getText().equals("200905"))
{
String t="登陆成功";
textfield2.setText(t);
}
}
else {
String t="用户ID或用户口令不正确。";
textfield2.setText(t);
}
}
if(baction == button2 ){
textfield1.setText("");
textfield2.setText("");
pfield1.setText("");
}
}
}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;public class login implements ActionListener
{
JFrame frame1=new JFrame("登陆");
JLabel label1=new JLabel("用户ID");
JLabel label2=new JLabel("用户口令");
JTextField textfield1=new JTextField();
JTextField pfield1=new JTextField();
JTextField textfield2=new JTextField();
//JPasswordField pfield1=new JPasswordField();
JButton button1=new JButton("确认");
JButton button2=new JButton("清除"); public void go(){
Container contentPane1 = frame1.getContentPane();
contentPane1.add(button1);
contentPane1.add(button2);
contentPane1.add(label1);
contentPane1.add(label2);
contentPane1.add(textfield1);
contentPane1.add(textfield2);
contentPane1.add(pfield1); frame1.setSize(500,300);
label1.setBounds(50,30,100,30);
label2.setBounds(50,60,100,30);
textfield1.setBounds(250,30,200,30);
textfield2.setBounds(100,210,300,30);
//pfield1.setLocation(250,60);
pfield1.setBounds(250,60,100,30);
button1.setBounds(100,150,100,30);
button2.setBounds(300,150,100,30);
textfield2.setEnabled(false); frame1.setVisible(true);
/*label1.setVisible(true);
label2.setVisible(true);
textfield1.setVisible(true);
textfield1.setVisible(true);
pfield1.setVisible(true);
button1.setVisible(true);
button2.setVisible(true);*/ button1.addActionListener(this);
button2.addActionListener(this);
} public static void main(String[] args)
{
login pr=new login();
pr.go();
}
public void actionPerformed(ActionEvent event)
{
JButton baction = (JButton) event.getSource();
if(baction == button1 ){
if (textfield1.getText().equals("javaclass"))
{
if (pfield1.getText().equals("200905"))
{
String t="登陆成功";
textfield2.setText(t);
}
}
else {
String t="用户ID或用户口令不正确。";
textfield2.setText(t);
}
}
if(baction == button2 ){
textfield1.setText("");
textfield2.setText("");
pfield1.setText("");
}
}
}
建议使用网格布局GridLayout,或者空布局,自己写坐标。
自己就可以对那有更深的了解啦, 不过一般默认的是FlowLayOut。