解决方案 »

  1.   

    可以在eclipse上安装个Windowbuild pro插件,自己拖拖界面就成了
      

  2.   

    麻烦你说清楚一些,是我设置的哪个布局管理器的问题啊!?
    布局管理器一般使用组件的preferredSize。不过有些布局管理器会忽略其中的宽或高,如BoxLayout
      

  3.   

    如果单纯就这点程序的话,没必要用那么多的JPanel;
      

  4.   


    设置布局管理器为null,然后就可以设置组件的位置了;
      

  5.   

    小弟刚刚开始自学JAVA,看了这个,我想问JAVA里的界面都是只能用代码做吗?有没有什么工具可以像VC,VF一样,直接可以做界面的。
      

  6.   

    在底部显示是因为你设置了BorderLayout.SOUTH,这种布局是自动将组件填充满的。你可以在添加JButton之前new JPanel,然后把JButton装到JPanel中,再把JPanel装到South中。你设置的就正常了
      

  7.   

    Class.forName("com.mysql.jdbc.Driver");
    JPanel panel = new JPanel();
    panel.add(jb);

    buttonPanel.add(panel,BorderLayout.NORTH);
      

  8.   

    Class.forName("com.mysql.jdbc.Driver");
    JPanel panel = new JPanel();
    panel.add(jb);

    buttonPanel.add(panel,BorderLayout.NORTH);
    就这样改。
      

  9.   


    import javax.swing.JFrame;
    import javax.swing.JPanel; 
    import javax.swing.JTextField;
    import javax.swing.JPanel;
    import javax.swing.JLabel;
    import javax.swing.JButton;
    import java.awt.BorderLayout; 
    import javax.swing.Spring;  
    import javax.swing.SpringLayout;  
    import java.awt.Container;public class ButtonTest01
    {
    JFrame jf = new JFrame("登录");
    private JLabel jl1 = new JLabel("用户名");
    private JTextField jtf1 = new JTextField(20);
    private JLabel jl2 = new JLabel("  密码   ");
    private JTextField jtf2 = new JTextField(20);
    private JPanel buttonPanel = new JPanel();
    private JButton jb = new JButton("登录");
    public void init() throws Exception
    {
        jf.setSize(400,300);
        jb.setBounds(20,10,200,580);
        Container contentPane = jf.getContentPane();
    SpringLayout layout = new SpringLayout();
    contentPane.setLayout(layout);
        contentPane.add(jl1);
        contentPane.add(jtf1);
        contentPane.add(jl2);
        contentPane.add(jtf2);
        contentPane.add(jb);
        layout.putConstraint(SpringLayout.NORTH, jl1, 20,   
        SpringLayout.NORTH, contentPane);    
        layout.putConstraint(SpringLayout.WEST, jl1, 10,   
        SpringLayout.WEST, contentPane);   
        layout.putConstraint(SpringLayout.NORTH, jtf1, 20,   
        SpringLayout.NORTH, contentPane);  
         layout.putConstraint(SpringLayout.WEST, jtf1, 5,   
        SpringLayout.EAST, jl1);  
        
        layout.putConstraint(SpringLayout.NORTH, jl2, 60,   
        SpringLayout.NORTH, contentPane);  
        layout.putConstraint(SpringLayout.WEST, jl2, 10,   
        SpringLayout.WEST, contentPane);               
        layout.putConstraint(SpringLayout.NORTH, jtf2, 60,   
        SpringLayout.NORTH, contentPane);  
         layout.putConstraint(SpringLayout.WEST, jtf2, 5,   
        SpringLayout.EAST, jl2);  
         layout.putConstraint(SpringLayout.NORTH, jb, 100,   
        SpringLayout.NORTH, contentPane);
        layout.putConstraint(SpringLayout.WEST, jb,130,   
        SpringLayout.WEST, contentPane);    jf.setVisible(true);
    }
    public static void main(String[] arg0)throws Exception
    {
    ButtonTest01 lft = new ButtonTest01();
    lft.init();
    }
    }   用相对布局SpringLayout可以实现!
      

  10.   

    JPanel默认为流布局,你改为JPanel jp0 = new JPanel(new BorderLayout());试试