我学布局碰到一个问题 
设计一个计算器样子模型,我写好代码后 就成这样子勒,上面那个按钮基本看不出来,怎么设置按钮宽度高度呢?
源码 package layouttest;import javax.swing.JFrame;/**
 *
 * @author 1
 */
public class Main {    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        JFrame JF=new JFrame();
        JF.setSize(300,300);
        
        JP JP1=new JP();
        JF.add(JP1);
        JF.setVisible(true);
        
        // TODO code application logic here
    }}package layouttest;import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JPanel;/**
 *
 * @author 1
 */
public class JP extends JPanel{
    public JP()
    {
        setLayout(new BorderLayout());
        JButton JB=new JButton();
       
        add(JB,BorderLayout.NORTH);
        JPanel panel=new JPanel();
        panel.setLayout(new GridLayout(3,3));
        JButton jb1=new JButton("1");
        JButton jb2=new JButton("2");
        JButton jb3=new JButton("3");
       JButton jb4=new JButton("4");
        JButton jb5=new JButton("5");
        JButton jb6=new JButton("6");
        panel.add(jb1);
        panel.add(jb2);
        panel.add(jb3);
        panel.add(jb4);
        panel.add(jb5);
        panel.add(jb6);
        add(panel,BorderLayout.CENTER);
    }}
结果这样:

解决方案 »

  1.   

    结果图片是这样http://1670679.886.cn/&module=default&submod=item_list&method=albumpix_list&album_id=1385094&v=921
      

  2.   

    setLayout(new BorderLayout()); 样式的问题 换成NullLayout试试
      

  3.   

    错了panel.setLayout(new GridLayout(3,3)); 应该是这句话
      

  4.   

    生成结果图片地址http://1670679.886.cn/&module=default&submod=pix&method=index&album_id=1385094&v=921&pix_id=83814363
      

  5.   

    是跟布局有关,跟按钮的大小没关系!
    swing我也很少用,每个布局的作用自己 去研究吧
      

  6.   

    有2种办法吧,一种是先设置JPanel的size,然后panel.setLayout(new GridLayout(行,列));这样就能得到大小一致的,随便面板大小而变化的按钮。另一种办法是直接设置按钮的坐标和大小,使用setBounds(横坐标,纵坐标,长,宽); 
      

  7.   

    setBounds(x,y,l,h)
    这个方法可以
    或是装个可视化插件
      

  8.   

    setBounds(new Rectangle(x,y,l,w))