![]() |
1
0
两个建议: 1)把常见的东西放到实例初始化块中。每当我看到呼叫“this()”时,我都会战栗。 { this.setDefaultCloseOperation(windowConstants.exit在关闭时退出); } 控制框架() { 超级(“控制框架”); } 控制帧(int x,int y,int w,int h) { 超级(“控制框架”); … } 2)我会去掉x,y,w,h构造器…就我个人而言,我有一个叫做windowutils的类,它有一个“position”方法来计算屏幕大小,然后使用传入的值来创建一个与屏幕相对大小的窗口。然后创建窗口的代码调用这个。我更喜欢尽可能少的构造器(通常是0或1,我很少有两个或更多的构造器)。 3)这个.getContentPane().add(jb_inc);现在可以写成add(jb_inc);-因为jdk 1.5我认为。 4)永远不要调用可重写的方法(所有您拥有的方法)。之前)在构造函数内。如果一个子类重写了“添加”,你会看到一些东西被破坏了。所以您可以调用super.add(),或者在另一个方法中执行加法,或者使类成为最终类。 现在回答你的问题…-) 你需要利用 LayoutManagers 得到你想要的。 根据需要,您可能希望使用边框布局,以便可以在底部获得按钮。 |
![]() |
2
2
我建议你从阅读摇摆教程的部分开始 Using Layout Managers 您的代码将无法工作,因为您正试图将3个组件添加到无法工作的borderlayout的“中心”。选择一个更好地满足您需求的外派经理。 使用布局管理器时不需要使用setbounds(…)方法。布局管理器的工作是根据布局管理器的规则定位组件。每个按钮的首选大小应该相同,因为您没有向按钮添加任何文本。 此外,不需要在按钮上调用setVisible(),默认情况下,所有Swing组件都是可见的,除了顶级容器(jframe、jdialog)。 |
![]() |
3
0
既然你对每件事都设定了界限,你根本不需要一个外派经理。将LayoutManager设置为空,然后您可以自己定位所有内容,如示例中所示。
|
|
Tal · 如何在按钮被单击一定次数后禁用它? 7 年前 |
![]() |
rui · jButton只响应第二次单击 7 年前 |
![]() |
Qamar Irfan · 如何使JButton打开不同的帧? 7 年前 |
![]() |
Nancy · 把JButton放在JLabel的特定位置? 7 年前 |
![]() |
Dominick · 按jbutton java更改图像 7 年前 |
![]() |
GonePhisin · 如何使我的按钮位于左侧而不是中间 7 年前 |
![]() |
FrankK · Java创建表,第一行有一个按钮 7 年前 |