这很简单,但我似乎无法弄明白,我想定义我在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
方法确定是否单击了按钮。
答案 0 :(得分:2)
你正在重新发明轮子。
不要尝试绘制自己的按钮。
JButton
之类的Java控件。见How to Use Buttons, Check Boxes, and Radio Buttons。JComponent
子类或使用JLabel
。不要手动将它们放在屏幕上。使用LayoutManager
。将它们自己放在屏幕上太难了比学习LayoutManager
api的工作原理要困难得多。
GroupLayout
。我知道现在这似乎更难了,因为你必须了解所有这些事情是如何运作的,但我保证这些工具的存在是有原因的......因为它们让每个人的生活更轻松,不是更难。通过了解这些内容的工作方式,您可以更快地完成游戏,而不仅仅是使用paintComponent
。