我正在尝试创建一个JScrollPane
包含JPanel
高度增加和减少的高度。JScrollPane
当它变得比JPanel
. 但是,我很难做到这一点。是的,我知道我没有使用LayoutManager
s。不,我不会使用它们,我需要一个不涉及它们使用的解决方案。
下面是两个 button 的AbstractAction
加法和减法JPanel
:
class AddACT extends AbstractAction
{
public void actionPerformed(ActionEvent e)
{
info.setSize(420,info.getHeight() + 40);
info.add(new SubPanel); // Adds another JPanel into the main JPanel (for content input)
gui.repaint();
infoS.validate();
}
}
class RemoveACT extends AbstractAction
{
public void actionPerformed(ActionEvent e)
{
info.remove(subPanel()); // This would remove the last JPanel added to the main JPanel
info.setSize(420,info.getHeight() - 40);
gui.repaint();
infoS.validate();
}
这是主 JPanel 和 JScrollPane 的代码:
final JPanel info = new JPanel();
final JScrollPane infoS = new JScrollPane(info, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
info.setLayout(null);
info.setSize(420,600);
infoS.setLocation(10,80);
infoS.setSize(420,490);
gui.add(infoS); // gui is the frame's content pane (the overall JPanel)
这是我一直在尝试通过实践来学习 GUI 的第二个项目。我是 Swing 的完全新手,并且只是 Java 的中级。对不起,如果我犯了一个明显的错误。