1

JLabel内で add などを呼び出せるように関数を作成したいと思いますJScrollPanel。コマンドが NetBeans にあるのかわかりません。

JScrollPanel-> events-> container->componentAddedを実行して、以下のコードを作成してみました。しかし、その関数にコードを追加しても何も表示されません。

     private void initComponents() {

        scrollPanel = new javax.swing.JScrollPane();

        scrollPanel.addContainerListener(new java.awt.event.ContainerAdapter() {
        public void componentAdded(java.awt.event.ContainerEvent evt) {
            scrollPanelComponentAdded(evt);
        }
     }


    private void scrollPanelComponentAdded(java.awt.event.ContainerEvent evt) {
       System.out.println("main");
    }   

どんな助けでも素晴らしいでしょう、ありがとう。

4

1 に答える 1

3

私は Netbeans を使用しておらず、あなたがやろうとしていることを正確に理解しているかどうかはよくわかりませんが、スクロール ペインにコンポーネントを追加する通常のケースは、スクロール ペインの「ビューポート」としてパネルを追加することです。スクロール ペインは、そのパネルへのウィンドウのようなものです。パネルが大きすぎてスクロール ペインに収まらない場合は、スクロールバーが表示されます。

これが私の言いたいことを示すためのスニペットです。これは、メソッドで探しているものかもしれませんinitComponents:

JPanel panel = new JPanel();
panel.add( ... ); // Add whatever components to the panel
scrollPanel = new JScrollPane();
scrollPanel.setViewportView(panel);

は、コンポーネントが実際にコンテナに追加またはコンテナから削除されたContainerListenerときにのみ呼び出されます。上記のコードでは、スクロール ペインに他のコンポーネントが追加されることはありません。

于 2010-06-05T12:13:25.730 に答える