【发布时间】:2013-01-07 02:43:06
【问题描述】:
我正在 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);
}
提前致谢
【问题讨论】:
-
为了尽快获得更好的帮助,请发帖SSCCE
标签: java swing alignment awt componentlistener