0

私はnetbeansでGUIを作成しており、フレームのサイズ変更、最小化、最大化などを行ったときにコンポーネントが適切に整列されるようにしようとしています。これを行うためにコンポーネントリスナーを追加し、両方にコードを追加しましたformComponentMoved および formComponentResized。これは、フォームがサイズ変更または移動されたときに完全に機能します。問題は、フォームが最大化または最小化されたときに機能しないことです。コンポーネントリスナーのコードの下に添付しました。ここで何が欠けていますか?

private void formComponentResized(java.awt.event.ComponentEvent evt) {                                      
     jSplitPane1.setSize(new Dimension((int)(this.getWidth()*.98), (int)(this.getHeight()*.6)));
     jSplitPane1.setDividerLocation(jSplitPane1.getWidth()/2);
     jPanel1.setSize(new Dimension(jSplitPane1.getWidth()/2, jSplitPane1.getHeight()));
     jPanel2.setSize(new Dimension(jSplitPane1.getWidth()/2, jSplitPane1.getHeight())); 
     zoomToPeak.setLocation(jPanel2.getX() + 5, jPanel2.getY() + jPanel2.getHeight() + 30);
     peak.setLocation(zoomToPeak.getX() + zoomToPeak.getWidth() + 10, zoomToPeak.getY() + 1);

}                                     

private void formComponentMoved(java.awt.event.ComponentEvent evt) {                                    
    jSplitPane1.setSize(new Dimension((int)(this.getWidth()*.98), (int)(this.getHeight()*.6)));
    jSplitPane1.setDividerLocation(jSplitPane1.getWidth()/2);
    jPanel1.setSize(new Dimension(jSplitPane1.getWidth()/2, jSplitPane1.getHeight()));
    jPanel2.setSize(new Dimension(jSplitPane1.getWidth()/2, jSplitPane1.getHeight())); 
    zoomToPeak.setLocation(jPanel2.getX() + 5, jPanel2.getY() + jPanel2.getHeight() + 30);
    peak.setLocation(zoomToPeak.getX() + zoomToPeak.getWidth() + 10, zoomToPeak.getY() + 1);
}  

前もって感謝します

4

1 に答える 1

2

レイアウト マネージャーがありません。これらは、コンポーネントの位置合わせを維持するための適切な方法です。

于 2013-01-23T15:08:35.627 に答える