当前位置: 代码迷 >> Java相关 >> [求助]关于JPanel面板的布局问题
  详细解决方案

[求助]关于JPanel面板的布局问题

热度:144   发布时间:2007-07-30 23:25:28.0
[求助]关于JPanel面板的布局问题
JPanel面板怎样用setBounds设置布局呢?为什么我设置了会没有显示的,例如在JPanel面板中我设置lb.setBounds(300,300,60,20),但是lb却没有显示出来,错在哪里呢?
搜索更多相关的解决方案: JPanel  面板  

----------------解决方案--------------------------------------------------------
建议你看一下JAVA API.
----------------解决方案--------------------------------------------------------

例子..

/*
* Main.java
*
* Created on 2007年7月29日, 下午10:49
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;

//package nb;

/**
*
* @author Administrator
*/

public class Main extends JPanel{
/**
* @param args the command line arguments
*/
private JButton jb1,jb2;

public Main(){
setLayout(null);
jb1=new JButton("button1");
jb1.setBounds(10,10,50,50);
add(jb1);
jb2=new JButton("button2");
jb2.setBounds(70,30,50,50);
add(jb2);
}

public static void main(String[] args) {
JFrame frame=new JFrame("test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new Main());
frame.setSize(300,300);
frame.setVisible(true);
}
}


----------------解决方案--------------------------------------------------------
可能的错误:
frame.setVisible(true);
conPane.add(lb);
只有当setLayout(null)时组件必须用setBounds();
----------------解决方案--------------------------------------------------------
LS的正确,补充一点,要把尺寸设置好,如果尺寸设置的太小了,有时候也看不见,不过你可以先设置首选尺寸。。
----------------解决方案--------------------------------------------------------
还有一点,一定要把Layout设为null不然setBound无效
----------------解决方案--------------------------------------------------------