2

我正在尝试将我的 BasicArrowButtons 更改为更高或更改它的最小尺寸,以便将其放在面板的南部。到目前为止,我尝试覆盖paint(Graphics g) 以使用我的fontSize 而不是它的defaultSize,但这并没有改变它在面板中的适合方式。

        rightUsers=new BasicArrowButton(BasicArrowButton.LEFT){

        @Override
        public void paint(Graphics g)
          {
            super.paint(g);
            Insets insets = getInsets();
            Rectangle bounds = getBounds();
            int x = insets.left
                    + (bounds.width - insets.left - insets.right - fontSize) / 2;
            int y = insets.top
                    + (bounds.height - insets.left - insets.right - fontSize) / 2;
            paintTriangle(g, x, y, fontSize, direction, isEnabled());
          }
  };

如果有办法将 defaultSize 更改为我的尺寸,那将是最好的。

4

1 回答 1

0

BasicArrowButton 的源代码可以在这里找到:

http://www.jdocs.com/javase/7.b12/javax/swing/plaf/basic/BasicArrowButton.html

paint()函数用于getSize()确定按钮的大小。您可以尝试使用setSize,或者您可以尝试复制/粘贴该代码并进行所需的更改。

于 2012-11-02T21:02:36.693 回答