gpt4 book ai didi

java - IntelliJ IDEA 中的自定义 View 类

转载 作者:行者123 更新时间:2023-12-02 13:41:59 25 4
gpt4 key购买 nike

因此,我使用布局管理器 GridLayoutManager(IntelliJ) 在 IntelliJ IDEA 中构建 Swing 布局。

一切顺利,我可以布局我的所有内容等,但所有内容都在同一个代码文件中,并且考虑到我使用带有 JTabbedPane 的 JPanel,我希望选项卡式 Pane 的每个 Pane 都在单独的类中表示。

这怎么可能?

最佳答案

有几种方法可以做到这一点,要么扩展 JPanel 要么创建另一个包含 JPanel 的类

基于继承的解决方案

public class MyCustomPanel extends JPanel {

// implement your custom behavior in here
}

然后在创建 JTabbedPane 的位置,您将看到如下内容:

private void init() {
JTabbedPane jtp = new JTabbedPane();
JPanel jp = new MyCustomPanel();
jtp.add(jp);
}

尽管这可行,但从长远来看,扩展 JPanel 可能会引起麻烦。另一种方法,有利于 composition over inheritance可能看起来像这样:

基于组合的解决方案

public class MyCustomPanel {
private JPanel myPanel = new JPanel();

public MyCustomPanel() {
// add your customizations to myPanel
}

public JPanel getPanel() {
return myPanel;
}
}

然后在哪里创建 JTabbedPane

private void init() {
JTabbedPane jtp = new JTabbedPane();
MyCustomPanel mp = new MyCustomPanel();
jtp.add(mp.getPanel());
}

关于java - IntelliJ IDEA 中的自定义 View 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42698379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com