我在BorderLayout布局中Center部分,放入一个JTabbedPane选项卡组件,
为什么这个选项卡组件只占其中一小部分,没有放满整个Center?怎么修改才可以?
主要代码:
   public void view(){
JFrame jf=new JFrame("聊天器客户端");
jf.add(this.jfNorth(),BorderLayout.NORTH);
JPanel jpCenter=new JPanel();
JTabbedPane jtp=new JTabbedPane();
jtp.add("联系人",this.ConnectPerson());
jtp.add("群或组",this.group());
jpCenter.add(jtp);
jf.add(jpCenter,BorderLayout.CENTER);
jf.setVisible(true);
jf.setSize(240,600);
jf.setLocation(400,100);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
其他代码就不贴了,图片如右

解决方案 »

  1.   

    顺便再问下,怎么让组件与JFrame控件之间没间隙。
    像图中的North部图片,上面还有一条空隙。怎么解决,(主要是第一个问题)
    谢谢!
      

  2.   

    如果不出意外,楼主的jpCenter应该是个JPanel,而且jpCenter并没有设置布局管理器,JPanel的默认布局管理器是FlowLayout,所以jtp在jpCenter中只是居中显示而已,有两个办法:一是直接把jtp添加到jf上,二是把jpCenter的布局管理器改成BorderLayout。至于第二个问题,就不好判断了,有可能是组件问题,也可能是图片问题,楼主可以先确定一下到底是组件还是图片的问题。
      

  3.   

    图片使用JLabel显示的?可以设置 setBorder(BorderFactory.createEmptyBorder(0,0,0,0));
      

  4.   

    5楼:
    是JFrame中,放入一个JLabel,此JLabel与JFrame之间有间隙,可以看图上,北部位置
    用setBorder无效的。
      

  5.   

    图片没有问题?
    我放了一个显示图片的JLabel在NORTH,没遇到留白