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

标签 java swing netbeans jlabel

我想创建一个函数,以便我可以在 JScrollPanel 中调用添加 JLabel 等。我不确定 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");
    }   

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

最佳答案

我不使用 Netbeans,我不太确定我是否完全理解你想要做什么,但是将组件添加到滚动 Pane 的正常情况是添加一个面板作为滚动 Pane 的“视口(viewport)” .滚动 Pane 就像进入该面板的窗口。如果面板太大而无法放入滚动 Pane ,则会出现滚动条。

这是一个片段来说明我的意思。这可能是您在 initComponents 方法中寻找的:

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

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

关于Java Swing-创建一个函数来向 JScrollPane 添加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2980107/

相关文章:

java - 使用增强型 For 循环为数组分配新值

Java:查看小程序是否显示在屏幕上

Java Swing - 如何在 Netbeans 中绑定(bind) JComponent?

java - 通过单击 JButton 绘制形状

java - 尝试在 netbeans 中运行向导模块时出错

eclipse - Eclipse 是否有一个插件可以立即计算突出显示的表达式?

java - android锁定事件监听器和事件处理

java - 在 Java 中定义多线程

java - JMM 在实践中

java - 如何将 Swing TreeNode 转换为 Apache Tobago TreePath?