这是相当简单的,但我似乎不能弄清楚,我想定义我在Y轴上有多少空间,并定义我想要多少个按钮和每个按钮之间的间隙,它应该计算出每个按钮的高度和位置。
,
public void drawButtons(int buttons, int gap, int ySpace, int x, int width){
for(int i = 0; i < buttons; i++){
//Workout the y and the height here!
int height = (ySpace / buttons) - (gap * (buttons - 1))
//Other stuff here!
g.fillRect(x, theY, width, height);
}
}
x和按钮的宽度不是问题,稍后我会编辑此方法以在按钮的中心绘制文本,并使用mousePressed
方法来确定是否单击了按钮。
你在白费力气。
-
不要尝试自己画按钮。
- 使用Java控件,如
JButton
。参见如何使用按钮,复选框和单选按钮。 - 或者,创建自己的
JComponent
子类或使用JLabel
。
- 使用Java控件,如
-
不要手动将它们放在屏幕上。使用
LayoutManager
。自己把它们放在屏幕上太难了,比学习LayoutManager
api的工作原理要困难得多。- 我建议使用
GroupLayout
,如果你需要有自动调整大小的控制。
- 我建议使用
我知道这看起来更困难了,因为你必须了解所有这些东西是如何工作的,但我向你保证这些工具的存在是有原因的…因为他们让每个人的生活更轻松,而不是更困难。通过学习这些东西的工作原理,你会比直接使用paintComponent
更快地完成游戏。