首先请看我的源代码: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(),咋回事?我该怎么办?还请高人支招……
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);
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(); }}