3

我正在为我的大学项目开发​​一个软件。我正在使用 java 来开发我的桌面应用程序。为此,我想添加一个这样的组件:http ://www.mediafire.com/view/?6y1183p8u6phwzg

我想添加一个类似于下框架左侧的组件。它是一个可调整大小的组件,包含标题和子菜单。我们还可以在 windows XP OS 的左侧看到这类组件。我努力开发这个组件,只能制作一个可调整大小的组件,但它并没有减少它们之间的空白空间。我将把我的代码和我的应用程序的示例设计放在下面。如果有人能给我一个解决方案让我的组件像我希望的那样工作,或者给我一个很好的解决方案来制作这个组件,我将非常感激。非常感谢。:)

http://www.mediafire.com/view/?c9b8jwp4c558zae

    private void lbl1MousePressed(java.awt.event.MouseEvent evt) {                                  
    if (!(jpnTop.getSize().equals(lbl1.getSize()))) {
        try {
            Thread.sleep(100);
            jpnTop.setSize(lbl1.getSize());

        } catch (InterruptedException ex) {
        }

    } else {
        try {
            Thread.sleep(100);
            jpnTop.setSize(169, 162);


        } catch (InterruptedException ex) {
        }
    }
}  

  private void lbl2MousePressed(java.awt.event.MouseEvent evt) {                                  
    if (!(jpnLow.getSize().equals(lbl2.getSize()))) {
        try {
            Thread.sleep(100);
            jpnLow.setSize(lbl2.getSize());

        } catch (InterruptedException ex) {
        }

    } else {
        try {
            Thread.sleep(100);
            jpnLow.setSize(169, 162);

        } catch (InterruptedException ex) {
        }
    }
}

Ps:由于本网站的限制,我无法上传我的图片,我恳请您使用上面的 medeafire 链接查看它们。非常感谢您。

4

1 回答 1

5

当您使用SwingX标记您的问题时- 使用它而不是重新发明轮子 :-) 您正在寻找的组件称为 JXTaskPane/Container。

顺便说一句:在 EDT 上睡觉(就像你在代码片段中的 mouseListener 方法中所做的那样)是错误的 - 就像真的错了- 根本不这样做。手动设置尺寸/位置组件也是如此:这是合适的 LayoutManager 的专属任务。

于 2012-09-09T08:04:50.013 回答