gpt4 book ai didi

Java - 在 JButton 和 JTextArea 上画一个圆圈

转载 作者:行者123 更新时间:2023-12-02 04:46:28 24 4
gpt4 key购买 nike

所以我试图在按钮和文本区域上绘制一种椭圆形。是的,我不能只使用面板或框架是有原因的。

因此按钮和文本区域上已经有文本,并且由于程序的原因需要保留为按钮和文本区域。

到目前为止,我只有一个按钮可以显示这个圆圈,但其他按钮都没有与圆圈一起显示。并且文本区域根本不显示任何圆圈。

到目前为止我的按钮代码:

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);

到目前为止的结果:

enter image description here

最佳答案

我的猜测是这个 butt.add(smallPit); 导致了您的问题。

我的猜测是 smallPitJComponent 之类的东西扩展而来(从 JComponent 扩展的东西),问题是组件只能驻留在在单个容器内,因此每次调用 butt.add(smallPit); 时,smallPit 都会从之前的容器中删除,然后再添加到新容器中。

相反,创建一个 smallPit 实例(或者无论它是什么)并将其添加到每个需要它的按钮。

避免使用 null 布局,像素完美布局是现代 UI 设计中的一种幻觉。影响组件个体尺寸的因素太多,您无法控制其中任何一个。 Swing 的设计目的是与核心的布局管理器一起工作,放弃这些将导致无休止的问题和问题,您将花费越来越多的时间来尝试纠正

您还应该看看Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing?

关于Java - 在 JButton 和 JTextArea 上画一个圆圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29618510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com