日期:2014-05-20  浏览次数:20815 次

咋回事哩?
首先请看我的源代码:

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(),咋回事?我该怎么办?还请高人支招……


------解决方案--------------------
你定义了这个方法并没有调用。而且你的这个方法完全可以写成构造函数。
还有你用了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);