首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JPanel中的JPanel

JPanel中的JPanel
EN

Stack Overflow用户
提问于 2013-05-01 12:16:57
回答 2查看 378关注 0票数 0

在Java中,在一个方法的一个面板中有一个面板是可能的吗?

例如,如果我在一个名为CreatePanel的方法中创建了一个JPanel,我可以在它下面添加另一个吗?我试图在一个方法中添加两个或三个面板,但到目前为止还没有成功。

如果这是不可能的,那么如何创建一个JPanel,比如LeftPanel,并在LeftPanel中添加另一个JPanel呢?

任何关于来源和清晰解释的帮助都将是非常棒的,因为我是Java的初学者,有时你所说的事情对你和所有的CS-jock来说可能是显而易见的,但对我来说却不是。

EN

回答 2

Stack Overflow用户

发布于 2013-05-01 12:25:50

你的问题是可能的,但我认为你通过阅读布局管理器的教程会学到更多,而不是得到答案。请阅读布局管理器和布局组件:)

http://docs.oracle.com/javase/tutorial/uiswing/layout/index.html

票数 5
EN

Stack Overflow用户

发布于 2013-05-01 12:32:17

基本前提将遵循向面板添加任何其他组件的相同工作流程……

你可以这样做...

代码语言:javascript
复制
public JPanel createMasterPane() {

    JPanel master = new JPanel(new BorderLayout());

    JPanel leftPane = new JPanel();
    leftPane.add(new JLabel("Left"));

    master.add(leftPane, BorderLayout.WEST);

    JPanel rightPanel = new JPanel();
    rightPanel.add(new JLabel("Right"));
    master.add(rightPanel, BorderLayout.EAST);

    return master;

}

一个更好的解决方案(IMHO)是将各个责任领域分开,并做更多这样的事情……

代码语言:javascript
复制
public JPanel createLeftPane() {
    JPanel leftPane = new JPanel();
    leftPane.add(new JLabel("Left"));
    return leftPane;
}

public JPanel createRightPane() {
    JPanel rightPanel = new JPanel();
    rightPanel.add(new JLabel("Right"));
    return rightPanel;
}

public JPanel createMasterPane() {
    JPanel master = new JPanel(new BorderLayout());

    master.add(createLeftPane(), BorderLayout.WEST);
    master.add(createRightPane(), BorderLayout.EAST);

    return master;
}

你可能想花点时间浏览一下How to create a UI with Swing以获得更多细节...

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16312647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档