2011-01-03 11 views
1

テキストを表示するtextArea(ログ行が表示されます)を表示し、アニメーションGIFを上に表示します。私はhereと記載された解決策を試しましたが、私はすべて灰色の画面です。ヒント?スウィング:別のパネル上に透明パネルが表示される

public class TestLayeredPanes { 

    private JFrame frame = new JFrame(); 
    private JLayeredPane lpane = new JLayeredPane(); 

    public TestLayeredPanes() { 
     frame.setPreferredSize(new Dimension(600, 400)); 
     frame.setLayout(new BorderLayout()); 
     frame.add(lpane, BorderLayout.CENTER); 

     //Build the animated icon 
     JLabel buildingIcon = new JLabel(); 
     buildingIcon.setIcon(new ImageIcon(this.getClass().getResource(
       "/com/ct/tasks/cmviewer/gui/progress_bar.gif")));  
     JPanel iconPanel = new JPanel(); 
     iconPanel.add(buildingIcon); 

     //Build the textArea 
     JTextArea textLog = new JTextArea("Say something");  
     JPanel textPanel = new JPanel(); 
     textPanel.add(new JScrollPane(textLog)); 

     //Add the panels to the layered pane 
     lpane.add(textPanel, 0); 
     lpane.add(iconPanel, 1); 

     frame.pack(); 
     frame.setVisible(true); 
    } 

    public static void main(String[] args) { 
     new TestLayeredPanes(); 
    } 

} 

答えて

1

JXLayerはそれを行うために容易になります。 JXLayerサンプルを見てください。あなたは、なぜあなたはコピーした例からのコードの行を削除しなかったが、実施例で開始して以来

またXSwingX

+0

クール、私はそれを調べます。いい感じ! – Yossale

1

のコードを見てみることができますか?

レイヤードペインはレイアウトマネージャを使用しないため、コンポーネントのサイズは(0、0)なので、表示するものはありません。この例のsetBounds(...)メソッドには理由があります。