以下は、特定のpannel3にgridlayoutフォームで9つのボタンを作成するコードです。私が欲しいのは、各ボタンの背景を黒にして、その上に灰色のテキストを表示することです。誰でも助けてくれますか?
for(int i=1;i<=9;i++)
{
p3.add(new JButton(""+i));
}
JButton documentationをご覧ください。 setBackground
から継承されたsetForeground
およびJComponent
メソッドに特に注意してください。
何かのようなもの:
for(int i=1;i<=9;i++)
{
JButton btn = new JButton(String.valueOf(i));
btn.setBackground(Color.BLACK);
btn.setForeground(Color.GRAY);
p3.add(btn);
}
シンプル:
btn.setBackground(Color.red);
RGB値を使用するには:
btn[i].setBackground(Color.RGBtoHSB(int, int, int, float[]));
for(int i=1;i<=9;i++) {
p3.add(new JButton(""+i) {{
// initialize the JButton directly
setBackground(Color.BLACK);
setForeground(Color.GRAY);
}});
}
コンポーネントがボタンのように見えなくなるため、背景プロパティを変更するだけでは十分ではない場合があります。より良い結果を得るために here のようにPaintメソッドを再実装する必要があるかもしれません:
SetOpaqueメソッドを使用して、メソッドにtrueを渡すことで色が表示されるようにする必要がある場合とそうでない場合があります。
setBackground メソッドを使用して背景を設定し、 setForeground を使用してテキストの色を変更します。ただし、黒い背景の上に灰色のテキストを配置すると、テキストが少し読みにくくなる場合があります。