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



这是相当简单的,但我似乎不能弄清楚,我想定义我在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. 不要尝试自己画按钮。

    • 使用Java控件,如JButton。参见如何使用按钮,复选框和单选按钮。
    • 或者,创建自己的JComponent子类或使用JLabel
  2. 不要手动将它们放在屏幕上。使用LayoutManager。自己把它们放在屏幕上太难了,比学习LayoutManager api的工作原理要困难得多。

    • 我建议使用GroupLayout,如果你需要有自动调整大小的控制。

我知道这看起来更困难了,因为你必须了解所有这些东西是如何工作的,但我向你保证这些工具的存在是有原因的…因为他们让每个人的生活更轻松,而不是更困难。通过学习这些东西的工作原理,你会比直接使用paintComponent更快地完成游戏。

最新更新