2

BasicArrowButtons を高くするか、パネルの南に配置するときの最小サイズを変更しようとしています。これまでのところ、paint(Graphics g) をオーバーライドして、defaultSize ではなく fontSize を使用しようとしていますが、パネルに収まる方法は変わりません。

        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 に答える