如何动态绘制/缩放按钮?

时间:2015-08-12 22:45:54

标签: java button for-loop methods

这很简单,但我似乎无法弄明白,我想定义我在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方法确定是否单击了按钮。

1 个答案:

答案 0 :(得分:2)

你正在重新发明轮子。

  1. 不要尝试绘制自己的按钮。

  2. 不要手动将它们放在屏幕上。使用LayoutManager。将它们自己放在屏幕上太难了比学习LayoutManager api的工作原理要困难得多。

    • 如果您需要自动调整大小的控件,我建议您使用GroupLayout
  3. 我知道现在这似乎更难了,因为你必须了解所有这些事情是如何运作的,但我保证这些工具的存在是有原因的......因为它们让每个人的生活更轻松,不是更难。通过了解这些内容的工作方式,您可以更快地完成游戏,而不仅仅是使用paintComponent