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