の暗い灰色のJPanel
があります。私はJLabel
の背景としてnew Color(0, 0, 0, .5f)
(透明)を設定し、ボタンを使用してテキストを何度か変更します。問題は、テキストが変更されるたびに、前のテキストが新しいテキストの後ろに残ります。テキストを "123456789"から "1234567"、 "12345"、 "123"に変更します。私はこの「影」を取り除くにはどうすればよいJPanelの透明性の問題
:ここではスクリーンショットはありますか?
の暗い灰色のJPanel
があります。私はJLabel
の背景としてnew Color(0, 0, 0, .5f)
(透明)を設定し、ボタンを使用してテキストを何度か変更します。問題は、テキストが変更されるたびに、前のテキストが新しいテキストの後ろに残ります。テキストを "123456789"から "1234567"、 "12345"、 "123"に変更します。私はこの「影」を取り除くにはどうすればよいJPanelの透明性の問題
:ここではスクリーンショットはありますか?
説明と考えられる解決方法についてはBackgrounds With Transparencyをご覧ください。
今後、この問題を示すSSCCEを投稿してください。画像ではありません。
これは、exampleでも半透明になります。
多分それはあなたの問題を解決する、これを試してみてください。actionPeroformedで ...
public void actionPerformed(ActionEvent e) {
final JLabel tmpLabel = new JLabel(value[++i]); //change text
label.setFont(new Font("Times New Roman", 1, 36));
label.setForeground(new Color(255, 255, 255));
label.setBackground(new Color(0, 0, 0, .5f));
label.setHorizontalAlignment(SwingConstants.CENTER);
label.setOpaque(true);
label.setBounds(10, 10, 270, 70);
label = tmpLabel; //replace the entire label with a new label
}
コードのビットを実行するためには、素敵になります。 – gigadot
nullレイアウトを使用しないで、私があなたに与えた解決策はうまく動作します。ヌルレイアウトを使用する場合は、もう1行のコードを使用します。ヌルレイアウトは常に余分な作業ですので、レイアウトマネージャを使用して時間を節約する方法を学びます。 – camickr