Я хотел бы настроить GUI, как показано на рисунке ниже.
Размер JLayeredPane
всегда должен быть одинаковым, но размеры JPanel
и JScrollPane
могут изменяться. Мне нужно, чтобы JScrollPane
мог отображать JLayedPane
, нажимая стрелки, а что нет, если JPanel
и JScrollPane
недостаточно велики, чтобы показать весь JLayeredPane
.
Проблема в том, что с кодом ниже, JLayeredPane
всегда расширяется до размера JScrollPane
и в случае, если JScrollPane
меньше, чем JLayeredPane
, он не обеспечивает прокрутку способность.
Есть идеи о том, что происходит? Есть ли более простой код для этого?
Спасибо
<code>
contentPanePanel = new javax.swing.JPanel();
contentPaneScollPane = new javax.swing.JScrollPane();
contentPane = new javax.swing.JLayeredPane();
contentPanePanel.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
contentPane.setRequestFocusEnabled(false);
contentPane.setVerifyInputWhenFocusTarget(false);
contentPaneScollPane.setViewportView(contentPane);
javax.swing.GroupLayout contentPanePanelLayout = new javax.swing.GroupLayout(contentPanePanel);
contentPanePanel.setLayout(contentPanePanelLayout);
contentPanePanelLayout.setHorizontalGroup(
contentPanePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(contentPaneScollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 968, Short.MAX_VALUE)
);
contentPanePanelLayout.setVerticalGroup(
contentPanePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(contentPaneScollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 628, Short.MAX_VALUE)
);