0

I have 2 jpanels, one is used as a header for another. I want to hide panel with content and move header down when clicked on header (like minimizing). I am able to hide panel, but can't change the location of another one. Here is the code:

 private void dbStatsLabelMouseClicked(java.awt.event.MouseEvent evt)     {                                          
    if (report1Panel.isVisible()) {
        report1Panel.setVisible(false);
        Point p = reportHeaderPanel.getLocation();
        p.y = p.y + 100;
        reportHeaderPanel.setLocation(p);
    }
}
4

1 に答える 1

1

report1Panel非表示にする (次に親コンポーネントを再検証する) 代わりに、削除 (必要に応じて追加) することができます。動作は現在のレイアウトによって異なります。「自動サイズ変更」を提供する場合、「ヘッダー」コンポーネントは親のサイズに拡張する必要があります。

report1Panel他の解決策は、水平または垂直のサイズをゼロに設定することです。ここでも、「自動サイズ変更」機能を提供する必要があります

@StanislavLが述べたようJSplitPaneに、ヘッダークリックでイベントを使用できます:

splitPane.setDividerLocation(0); //or
splitPane.setDividerLocation(1.0);
于 2012-12-12T11:54:05.873 に答える