import java.awt.Container;
import java.awt.FlowLayout;import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;public class LoginWin extends JPanel{ 
      
private JLabel lab;
private JTextField jf;
public LoginWin() {
super();
initGUI();
} private void initGUI() {
setSize(200, 200);
jf = new JTextField();
    lab = new JLabel();
this.setLayout(null);
lab.setBounds(30,30,120,30);
jf.setBounds(30,80,120,30);
}

public static void main(String args[]){
JFrame jff = new JFrame();
Container con = jff.getContentPane();
con.setLayout(new FlowLayout());
LoginWin lw = new LoginWin();
con.add(lw);
jff.setSize(300, 200);
jff.setVisible(true);
}
}

解决方案 »

  1.   

    你的JPanel 都没有把组键加进去啊,你的LoginWin 类只是声明了一些按钮和对话框,却没有把它们加到JPanel里怎么可能显示的呢,LoginWin 类要把JLabel 和 JTextField 加进去。我想帮你写的,但不知道你到底要什么布局,所以算了- -
      

  2.   

    在initGUI 函数里,添加比如 this.add(lab) 和 this.add(jf) 的语句。自己再调下布局就OK啦
      

  3.   

    import java.awt.Container;
    import java.awt.FlowLayout;import javax.swing.BoxLayout;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;public class LoginWin extends JPanel{ 
          
        private JLabel lab;
        private JTextField jf;
        public LoginWin() {
            super();
            initGUI();
        }    private void initGUI() {
            setSize(200, 200);
            jf = new JTextField();
            lab = new JLabel();           
            lab.setBounds(30,30,120,30);
            jf.setBounds(30,80,120,30);   
            //需增加以下语句     
            this.add(jf);
            this.add(lab);
        }
        
        public static void main(String args[]){
            JFrame jff = new JFrame();
            Container con = jff.getContentPane();
            con.setLayout(new FlowLayout());
            LoginWin lw = new LoginWin();   
            con.add(lw);
            jff.setSize(300, 200);
            jff.setVisible(true);
            //需增加以下语句
            jff.show();
        }
    }
      

  4.   

    很明显啊,你的JPanel没用啊。
      

  5.   

    public static void main(String args[]){
            JFrame jff = new JFrame();
            Container con = jff.getContentPane();
    jff.setVisible(true);//先让其可以显示再设置其他的        
          
    con.setLayout(new FlowLayout());
            LoginWin lw = new LoginWin();
            con.add(lw);
            jff.setSize(300, 200);
                }
      

  6.   

    是不是super中没有参数呀?   我感觉是那的原因我也不知道对不对
      

  7.   

    import java.awt.Container;
    import java.awt.FlowLayout;
    import java.awt.BorderLayout;import javax.swing.BoxLayout;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;public class LoginWin extends JPanel{ 
          
        private JLabel lab;
        private JTextField jf;
        public LoginWin() {
            super();
            initGUI();
        }    private void initGUI() {
            setSize(200, 200);
            jf = new JTextField();
            lab = new JLabel("this is label!");    
            this.setLayout(null);
            this.add(lab);
            this.add(jf);
            lab.setBounds(30,30,120,30);
            jf.setBounds(30,80,120,30);
        }
        
        public static void main(String args[]){
            JFrame jff = new JFrame();
            Container con = jff.getContentPane();
            con.setLayout(new BorderLayout());
            LoginWin lw = new LoginWin();
            con.add(lw);
            jff.setSize(300, 200);
            jff.setVisible(true);
        }
    }
      

  8.   

    import java.awt.Container; 
    import java.awt.FlowLayout; 
    import javax.swing.JFrame; 
    import javax.swing.JLabel; 
    import javax.swing.JPanel; 
    import javax.swing.JTextField; public class LoginWin extends JPanel{ 
          
        private JLabel lab; 
        private JTextField jf; 
        public LoginWin() { 
            super(); 
            initGUI(); 
        }     private void initGUI() { 
            setSize(200, 200); 
            jf = new JTextField(15); 
            lab = new JLabel("JLabel");          
            lab.setBounds(30,30,120,30); 
            jf.setBounds(30,80,120,30);  
            this.add(lab); 
            this.add(jf);
        } 
        
        public static void main(String args[]){ 
            JFrame jff = new JFrame(); 
            Container con = jff.getContentPane(); 
            con.setLayout(new FlowLayout()); 
            LoginWin lw = new LoginWin();  
            con.add(lw); 
            jff.setSize(300, 200); 
            jff.setVisible(true);     } 
    }试试看,不知道是不是你要的效果!