Java Swing-创建一个向JScrollPane添加元素的函数

时间:2010-06-05 11:18:37

标签: java swing netbeans jlabel

我想创建一个函数,以便我可以在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");
    }   

任何帮助都会很棒,谢谢。

1 个答案:

答案 0 :(得分:3)

我不使用Netbeans,我不太确定我到底知道你要做什么,但是向滚动窗格添加组件的正常情况是添加一个面板作为滚动窗格的“视口” 。滚动窗格就像是该面板的窗口。如果面板太大而无法放入滚动窗格,则会出现滚动条。

这是一个显示我的意思的片段。这可能是您在initComponents方法中寻找的内容:

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

只有在实际添加或从容器中删除组件时,才会调用ContainerListener。在上面的代码中,没有其他组件被添加到滚动窗格中。