2011-01-04 13 views
4

の暗い灰色のJPanelがあります。私はJLabelの背景としてnew Color(0, 0, 0, .5f)(透明)を設定し、ボタンを使用してテキストを何度か変更します。問題は、テキストが変更されるたびに、前のテキストが新しいテキストの後ろに残ります。テキストを "123456789"から "1234567"、 "12345"、 "123"に変更します。私はこの「影」を取り除くにはどうすればよいJPanelの透明性の問題

alt text

:ここではスクリーンショットはありますか?

+1

コードのビットを実行するためには、素敵になります。 – gigadot

+1

nullレイアウトを使用しないで、私があなたに与えた解決策はうまく動作します。ヌルレイアウトを使用する場合は、もう1行のコードを使用します。ヌルレイアウトは常に余分な作業ですので、レイアウトマネージャを使用して時間を節約する方法を学びます。 – camickr

答えて

5

説明と考えられる解決方法についてはBackgrounds With Transparencyをご覧ください。

今後、この問題を示すSSCCEを投稿してください。画像ではありません。

2

多分それはあなたの問題を解決する、これを試してみてください。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 
} 
関連する問題