急~关于java中JPanel、JButton、JLable的一个菜鸟级问题
发布网友
发布时间:2023-02-08 06:40
我来回答
共1个回答
热心网友
时间:2024-10-29 01:20
楼主,首先你要搞清楚,Swing组件里容器都是有默认的布局的,如果你没有对容器设定布局,那么他的布局就是BorderLayout边界布局模式,这种布局模式,只有5个参数是有用的,即:
BorderLayout.NORTH
BorderLayout.SOUTH
BorderLayout.EAST
BorderLayout.WEST
BorderLayout.CENTER
而在你没有制定参数的情况下,又会默认BorderLayout.CENTER参数,这意味着什么呢,也就是如果
pan[i][j].add(lab[i][j], "down");
pan[i][j].add(but[i][j], "up");
楼主没有对PAN设定布局,则组件默认把Label 和Button 都以中心的布局模式放入容器中,而你又是先加的Button,所以,LAbel把你的按钮覆盖掉了,你点的实际上是标签,自然就不会有反应了,楼主可以试试
pan[i][j].add(lab[i][j], BorderLayout.NORTH);
pan[i][j].add(but[i][j], BorderLayout.CENTER);
应该就会有反应了,我在线,有什么问题,我们再讨论,希望楼主顺利解决问题