私はゲーム Master Mind を作成しています。マトリックスを JButton で埋めて、人々がクリックして色を変更できるようにしました。
長方形のボタンの形状を円に変更したいのですが、ループを使用してすべてのボタンを作成したので、それらを一度に変更する方法はありますか。
コンポーネントの形状を編集するために上書きする必要のあるいくつかのメソッドを次に示します。(サンプルコードを含む)
protected void paintComponent(Graphics g)
{
if (getModel().isArmed()) {
g.setColor(Color.lightGray);
} else {
g.setColor(getBackground());
}
g.fillOval(0, 0, getSize().width-1,getSize().height-1);
super.paintComponent(g);
}
protected void paintBorder(Graphics g) {
g.setColor(getForeground());
g.drawOval(0, 0, getSize().width-1, getSize().height-1);
}
Shape shape;
public boolean contains(int x, int y) {
if (shape == null ||
!shape.getBounds().equals(getBounds())) {
shape = new Ellipse2D.Float(0, 0, getWidth(), getHeight());
}
return shape.contains(x, y);
}
これに関するチュートリアルを Google で検索できます。
これは簡単なチュートリアルです: JButton の形状を変更する方法