首先请看我的源代码:package bookmanagersystem;import java.awt.FlowLayout;
import java.awt.GridLayout;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
class UserLogin {
JFrame ul;
JButton button1,button2; private void setupComponent(){
ul.setSize(320,240);
ul.setLocation(300,200);
ul.setResizable(false);
ul.setVisible(true);
JPanel con=new JPanel();
con.setLayout(new GridLayout(4,1));

//定义中间容器
JPanel panel1=new JPanel();
JPanel panel2=new JPanel();
JPanel panel3=new JPanel();
JPanel panel0=new JPanel();
FlowLayout flow=new FlowLayout();
flow.setAlignment(FlowLayout.CENTER);
flow.setHgap(30);
panel1.setLayout(flow);
panel2.setLayout(flow);
panel3.setLayout(flow);
con.add(panel0);
con.add(panel1);
con.add(panel2);
con.add(panel3);

//定义控件
JLabel label1=new JLabel("用户名:");
JTextField text1=new JTextField(" ",15);
panel1.add(label1);
panel1.add(text1);

JLabel label2=new JLabel("密    码:");
JTextField text2=new JTextField("",15);
text2.setEditable(true);
panel2.add(label2);
panel2.add(text2);

JButton button1=new JButton("确   定");
JButton button2=new JButton("取   消");
panel3.add(button1);
panel3.add(button2);
}
}public class Run {
public static void main(String[] args) {
// TODO 自动生成方法存根
new UserLogin(); }}
我用的是eclipse_3.1.2
电脑警告说:从不以本地方式使用类型UserLogin中的方法setupComponent(),咋回事?我该怎么办?还请高人支招……

解决方案 »

  1.   

    你定义了这个方法并没有调用。而且你的这个方法完全可以写成构造函数。
    还有你用了JPanel和其他一些组件根本没有添加到JFrame上。对于swing包里的组件添加要用getContentPane();
    我大概改了一下import java.awt.FlowLayout;
    import java.awt.GridLayout;
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    class UserLogin {
    JFrame ul;
    JButton button1,button2;
        UserLogin(){
    ul=new JFrame();

    JPanel con=new JPanel();
    Container c=ul.getContentPane();
    con.setLayout(new GridLayout(4,1));

    //定义中间容器
    JPanel panel1=new JPanel();
    JPanel panel2=new JPanel();
    JPanel panel3=new JPanel();
    JPanel panel0=new JPanel();
    FlowLayout flow=new FlowLayout();
    flow.setAlignment(FlowLayout.CENTER);
    flow.setHgap(30);
    panel1.setLayout(flow);
    panel2.setLayout(flow);
    panel3.setLayout(flow);
    con.add(panel0);
    con.add(panel1);
    con.add(panel2);
    con.add(panel3);

    //定义控件
    JLabel label1=new JLabel("用户名:");
    JTextField text1=new JTextField(" ",15);
    panel1.add(label1);
    panel1.add(text1);

    JLabel label2=new JLabel("密    码:");
    JTextField text2=new JTextField("",15);
    text2.setEditable(true);
    panel2.add(label2);
    panel2.add(text2);

    JButton button1=new JButton("确   定");
    JButton button2=new JButton("取   消");
    panel3.add(button1);
    panel3.add(button2);
    c.add(con);
    ul.setSize(320,240);
    ul.setLocation(300,200);
    ul.setResizable(false);
    ul.setVisible(true);

    }
    }public class Test {
    public static void main(String[] args) {
    // TODO 自动生成方法存根
    new UserLogin(); }}