BorderLayout的一個問題 North 跟 South 爲什麽不能加一個布局管理器為null的Panel呢?貌似必須要有布局管理器,什麽原理?而中間的就可以加一個布局管理器為null的Panel。百思不得其解呀 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 答:不可能.楼主肯定是代码写得有些问题.如:JPanel p1=new JPanel(); p1.setLayout(null);//null布局管理器 p1.setPreferredSize(new Dimension(300,50));//<==这个要加上如下程序就是在BorderLayout的North 跟 South 上各加一个布局管理器為null的Panel.参考代码:package test;import java.awt.BorderLayout;import java.awt.Container;import java.awt.Dimension;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class Computor { public static void main(String[] args) { new ComputorFrame(); }}class ComputorFrame extends JFrame{ JLabel jl1,jl2,jl3,jl4,jl5,jl6; public ComputorFrame(){ super("计算器"); Container container=getContentPane(); jl1=new JLabel("被乘数"); jl2=new JLabel("乘数"); jl3=new JLabel("积"); JPanel p1=new JPanel(); p1.setLayout(null);//null布局管理器 p1.setPreferredSize(new Dimension(300,50)); p1.add(jl1); p1.add(jl2); p1.add(jl3); jl1.setSize(50, 40); jl1.setLocation(50, 0); jl2.setSize(50, 40); jl2.setLocation(100, 0); jl3.setSize(50, 40); jl3.setLocation(150, 0); jl4=new JLabel("被除数"); jl5=new JLabel("除数"); jl6=new JLabel("商"); JPanel p2=new JPanel(); p2.setLayout(null);//null布局管理器 p2.setPreferredSize(new Dimension(300,50)); p2.add(jl4); p2.add(jl5); p2.add(jl6); jl4.setSize(50, 40); jl4.setLocation(50, 0); jl5.setSize(50, 40); jl5.setLocation(100, 0); jl6.setSize(50, 40); jl6.setLocation(150, 0); container.add(p1,BorderLayout.NORTH); container.add(p2,BorderLayout.SOUTH); setSize(300,300); setVisible(true); }} 答:你将我的1楼的程序代码中的如下两行代码注解掉,就会出现楼主说的情况了p1.setPreferredSize(new Dimension(300,50));p2.setPreferredSize(new Dimension(300,50)); layout设为null之后,要手动操办具体显示细节诸如setSize setBounds setLocation 我的意思是我没碰到过不能加null布局JPanel的情况,你上面的错误,我还没有犯过,呵呵,谢谢提示。 有关垃圾收集器的几个问题 求教_如何在JPanel中设置背景图,同时放置组件在图上! 关于JLabel的显示 hashcode 实现Socket的通讯,应该怎么做?小女子,TAI各位了。 有个问题想不通? 我的电脑运行不了Javac命令,求救! 请问各位大虾!如何让image2得到image1??? 在线等~~ 我写了客户端跟服务器,有什么工具可以模仪出局域网的,贴上下载地址,马上送分!! jdbc:oracle:thin:@host:1521:SID中的“host”,“1521”,“sid”分别是什么意思啊?谁能告诉我? bean打包的问题 java如何提取一个给定网址的最小域名?
楼主肯定是代码写得有些问题.
如:
JPanel p1=new JPanel();
p1.setLayout(null);//null布局管理器
p1.setPreferredSize(new Dimension(300,50));//<==这个要加上
如下程序就是在BorderLayout的North 跟 South 上各加一个布局管理器為null的Panel.
参考代码:
package test;import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Computor {
public static void main(String[] args) {
new ComputorFrame();
}}class ComputorFrame extends JFrame{ JLabel jl1,jl2,jl3,jl4,jl5,jl6;
public ComputorFrame(){
super("计算器");
Container container=getContentPane();
jl1=new JLabel("被乘数");
jl2=new JLabel("乘数");
jl3=new JLabel("积");
JPanel p1=new JPanel();
p1.setLayout(null);//null布局管理器
p1.setPreferredSize(new Dimension(300,50));
p1.add(jl1);
p1.add(jl2);
p1.add(jl3);
jl1.setSize(50, 40);
jl1.setLocation(50, 0);
jl2.setSize(50, 40);
jl2.setLocation(100, 0);
jl3.setSize(50, 40);
jl3.setLocation(150, 0); jl4=new JLabel("被除数");
jl5=new JLabel("除数");
jl6=new JLabel("商");
JPanel p2=new JPanel();
p2.setLayout(null);//null布局管理器
p2.setPreferredSize(new Dimension(300,50));
p2.add(jl4);
p2.add(jl5);
p2.add(jl6);
jl4.setSize(50, 40);
jl4.setLocation(50, 0);
jl5.setSize(50, 40);
jl5.setLocation(100, 0);
jl6.setSize(50, 40);
jl6.setLocation(150, 0);
container.add(p1,BorderLayout.NORTH);
container.add(p2,BorderLayout.SOUTH);
setSize(300,300);
setVisible(true);
}
}
p1.setPreferredSize(new Dimension(300,50));
p2.setPreferredSize(new Dimension(300,50));
诸如setSize setBounds setLocation