Java - 在 JButton 和 JTextArea 上画一个圆圈
Java - Draw a circle ON JButton and JTextArea
所以我试图在按钮和文本区域上绘制一种椭圆形。是的,我不能只使用面板或框架是有原因的。
所以按钮和文本区域已经有了文本,出于程序的原因需要保留为按钮和文本区域。
到目前为止,我只有一个按钮有这个圆圈,但 none 的其他按钮显示有圆圈。而且文本区域根本没有显示任何圆圈。
到目前为止我的按钮代码:
for (int i = 0; i < (label.length) / 2; i++) {
butt = new JButton(label[i]); // label contains the text on button
butt.setPreferredSize(new Dimension(83, 100));
butt.add(smallPit); //smallpit is the circle graphics
game.add(butt); // game is a panel
// butt.setLayout(null);
}
for (int i = 6; i < label.length; i++) {
butt = new JButton(label[i]);
butt.setPreferredSize(new Dimension(83, 100));
butt.add(smallPit);
game.add(butt);
}
文本区域代码
score2.setBounds(0, 50, 100, 210);
score1.setBounds(700, 50, 100, 210);
score2.add(scorePit);
score1.add(scorePit);
目前的结果:
我的猜测是这个 butt.add(smallPit);
导致了您的问题。
我的猜测是 smallPit
从类似 JComponent
的东西扩展(从 JComponent
扩展的东西),问题是一个组件只能驻留在一个容器中,所以每个当您调用 butt.add(smallPit);
时,smallPit
会在添加到新容器之前从其先前的容器中删除。
相反,创建一个 smallPit
实例(或任何实例)并将其添加到需要它的每个按钮。
避免使用 null
布局,像素完美布局是现代 ui 设计中的一种错觉。影响组件个体大小的因素太多,none 是您可以控制的。 Swing 旨在与核心的布局管理器一起工作,丢弃这些将导致无穷无尽的问题和问题,您将花费越来越多的时间来尝试纠正
你也应该看看Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing?
所以我试图在按钮和文本区域上绘制一种椭圆形。是的,我不能只使用面板或框架是有原因的。
所以按钮和文本区域已经有了文本,出于程序的原因需要保留为按钮和文本区域。
到目前为止,我只有一个按钮有这个圆圈,但 none 的其他按钮显示有圆圈。而且文本区域根本没有显示任何圆圈。
到目前为止我的按钮代码:
for (int i = 0; i < (label.length) / 2; i++) {
butt = new JButton(label[i]); // label contains the text on button
butt.setPreferredSize(new Dimension(83, 100));
butt.add(smallPit); //smallpit is the circle graphics
game.add(butt); // game is a panel
// butt.setLayout(null);
}
for (int i = 6; i < label.length; i++) {
butt = new JButton(label[i]);
butt.setPreferredSize(new Dimension(83, 100));
butt.add(smallPit);
game.add(butt);
}
文本区域代码
score2.setBounds(0, 50, 100, 210);
score1.setBounds(700, 50, 100, 210);
score2.add(scorePit);
score1.add(scorePit);
目前的结果:
我的猜测是这个 butt.add(smallPit);
导致了您的问题。
我的猜测是 smallPit
从类似 JComponent
的东西扩展(从 JComponent
扩展的东西),问题是一个组件只能驻留在一个容器中,所以每个当您调用 butt.add(smallPit);
时,smallPit
会在添加到新容器之前从其先前的容器中删除。
相反,创建一个 smallPit
实例(或任何实例)并将其添加到需要它的每个按钮。
避免使用 null
布局,像素完美布局是现代 ui 设计中的一种错觉。影响组件个体大小的因素太多,none 是您可以控制的。 Swing 旨在与核心的布局管理器一起工作,丢弃这些将导致无穷无尽的问题和问题,您将花费越来越多的时间来尝试纠正
你也应该看看Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing?