gpt4 book ai didi

java - JTabbedPane 无法正常工作

转载 作者:行者123 更新时间:2023-11-29 05:45:57 24 4
gpt4 key购买 nike

    public void tabbedPane(){
JPanel tab1 = new JPanel();
JButton btn = new JButton("Buton - 1");
btn.setPreferredSize(new Dimension(50, 20));
btn.setLocation(0, 10);
tab1.add(btn);
JTabbedPane tabPanel = new JTabbedPane();
tabPanel.addTab("tab1", null, tab1);
tabPanel.addTab("tab2", tab1);
tabPanel.addTab("tab3", btn);
tabPanel.setPreferredSize(new Dimension(450, 150));
tabPanel.setLocation(50, 0);
mainPanel.add(tabPanel);//Main panel on frame
}

当我运行我的应用程序时,我只看到 tab2 和 tab3 Pane ,而且我有很多问题:

  • tabPanel.setLocation 不起作用
  • tabPanel.addTab("tab1"...) 不起作用
  • btn.setPreferredSize(新维度(50, 20));当我单击“tab2”它可以正常工作,但是当我单击“tab3”时它不会更改按钮尺寸……为什么?

我使用空布局

最佳答案

tabPanel.setLocation doesn't work

不要使用 setLocation(...) 而是使用嵌套组件和布局管理器来实现令人愉悦且易于维护的 GUI 布局。

tabPanel.addTab("tab1" ...) doesn't work

使用 Swing,您只能将一个组件添加到一个容器中,仅此而已。该组件只会出现在它被添加到的最后一个容器中。

btn.setPreferredSize(new Dimension(50, 20)); when I click "tab2" it works correctly, however when I click "tab3" it doesn't change button size.. why?

同样,您需要研究布局管理器

and i use null layout

您几乎从不想要这样做,因为这会使您的应用程序在除您自己的平台之外的任何平台上看起来都不正确,并且会使维护和升级变得非常非常困难。最好使用布局管理器,让它们为您完成布局和调整组件大小的繁重工作。

关于java - JTabbedPane 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15854849/

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