我有一个JFrame作为主窗口的应用程序。 (内容窗格有一个tabbedPane,其中有一个名为“sfp”的JPanel)。
Sfp包含两个标签,两个文本字段,一个按钮和其他JPanel,称为“详细信息”,如this图片中所示。
详细信息面板包含少量元素,如显示this图像,但相关元素是复选框和滚动窗格。
我希望在切换复选框状态时,切换滚动窗格的可见性(默认情况下不可见),并正确调整所有JPanel和JFrame的大小。
要切换滚动窗格的可见性,我将此代码添加为复选框的操作:
protected class DebugAction extends AbstractAction {
public DebugAction() {
this.putValue(Action.NAME, "");
this.putValue(Action.SHORT_DESCRIPTION, "Debug Window");
}
@Override
public void actionPerformed(ActionEvent e) {
if (SFDetail.this.scrollPane.isVisible()) {
SFDetail.this.scrollPane.setVisible(false);
} else {
SFDetail.this.scrollPane.setVisible(true);
}
SFDetail.this.revalidate();
SFDetail.this.repaint();
}
}
但我不知道如何更改JPanel和JFrame大小以正确匹配可见内容。