问题标签 [jtabbedpane]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9435 浏览

java - JTabbedPane 中具有相等(恒定)宽度的选项卡

我试图让JTabbedPane所有选项卡(实际选项卡,而不是组件)具有相同的宽度(最宽标签所需的最小宽度或恒定宽度)。

我试图覆盖BasicTabbedPaneUI.getTabBounds(int tabIndex, Rectangle dest),但显然 的绘画方法并未使用此方法BasicTabbedPaneUI,而是使用 rects 数组来确定选项卡大小。

我的下一个方法是覆盖JTabbedPane.insertTab(String title, Icon icon, Component component, String tip, int index)并设置标签组件的首选大小,但这似乎不是很优雅,我什至不确定它是否会起作用。

有没有办法做到这一点?

0 投票
2 回答
2155 浏览

java - JTabbedPane:选项卡本身之前和之后的组件

这类似于问题How to build a Google-chrome tabs and menubar interface in Java Swing? (我想完成同样的事情),但更重要的是:如何将组件放在 JTabbedPane 中选项卡的前面和后面?

我自己已经提出了按钮的想法,但我宁愿有一个 JTabbedPane,因为它确实是这样,但在侧面装饰了一个按钮或图标。

我已经看到来自 Kirill 的laf-widget项目为几个 LaF 做了类似的事情(选项卡左侧的放大镜图标)。然而,我必须承认,我还不够精通理解他是如何做到的——而且这似乎是一个有点复杂的过程,一个人“物理地”改变有问题的 LaF(字节码操纵它),注入 laf - 将小部件放入 UI 代表 - 我仍然不知道 JTabbedPane 或 TabbedPaneUI 是如何实际调制以注入该图标/按钮的。

0 投票
5 回答
24401 浏览

java - Java JTabbedPane,如何从按钮中选择选项卡?

如何像单击按钮一样选择选项卡?我已经用谷歌搜索并查看了所有操作,但只有这么多...... :(

有人知道手吗?

提前致谢!

0 投票
7 回答
13358 浏览

java - 如果只存在一个选项卡,有没有办法隐藏 JTabbedPane 的选项卡栏?

我想要一种类似于 Firefox 的行为,其中可用选项卡列表仅在至少存在两个选项卡时才会显示。

我还没有找到类似的东西。

我最好的主意是手动更改布局:

  • 如果是一个组件,只需将其添加到周围的面板
  • 如果添加了一个组件,请从周围的面板中删除该组件,添加一个 JTabbedPane 并将之前的和新的组件都添加到该窗格中。
  • 如果删除了一个组件并且窗格中只剩下一个组件,请删除窗格并添加包含的组件。

虽然这可能会奏效,但感觉就像是一种黑客攻击或解决方法......

有更好的主意吗?

理想情况下,解决方案应该在 Java 1.5 和 1.6 中都可以工作......但我也很高兴只有 1.6 的解决方案。

0 投票
1 回答
1680 浏览

google-chrome - JTabbedPane:将鼠标侦听器附加到不包含选项卡的选项卡选择 UI 部分

这与此处提出的问题有关: JTabbedPane:选项卡本身之前和之后的组件

我想附加一个鼠标侦听器,允许拖动构建的类似谷歌浏览器的框架。一开始,初始的拖拽代码相当简单,这个 Kirill-post上的鼠标拖拽代码几乎可以直接使用。如果用户单击并拖动框架的“标题栏”,我只想要这种行为,即选项卡(标签)所在的区域。这也很容易 - 只需将拖动代码更改为仅接受 JTabbedPane 上部区域中的单击,该部分包含选项卡。

但是,我想进一步减少可抓取区域,并且只允许在不被选项卡占用的区域中单击并拖动框架(棒子 - 任何人都有这个 GUI 元素的更好名称?) - 再次非常喜欢谷歌浏览器(Chrome 还在窗口模式下的标签上方添加了一个栏,以便在许多标签处于活动状态时更容易抓住框架。但 Chrome 完美地做到了这一点:可以在没有的标签部分中抓取窗口有标签,甚至在标签之间的小 v 中!)

我实际上想要做的是能够将鼠标侦听器附加到选项卡的 GUI 的背景上——但是如何完成这样的事情呢?

0 投票
2 回答
4970 浏览

java - JTabbedPane.getTabComponentAt(int) 返回 null

我有以下代码:

事情是 :

返回null。另一个奇怪的事情是:

返回0。我认为应该发生的合乎逻辑的事情是引用创建的窗口。为什么我会收到null?我究竟做错了什么?

0 投票
5 回答
4596 浏览

java - 调用 JTabbedPane.removeAll() 后,JTabbedPane 仍然有 x 个选项卡?

在我的JTabbedPane中,我以两种不同的方式删除标签:

两者在关闭选项卡方面都可以正常工作。但是,我有一个更改侦听器,TabbedPane它回调另一个模块以报告选项卡更改。这就是问题所在。

使用 添加和删除选项卡时,方法中remove(index)的源 TabbedPane 在stateChanged()检查时包含正确数量的选项卡tabbedPane.getTabCount()

但是,在调用tabbedPane.getTabCount()after时tabbedPane.removeAll(),计数仍然是紧接在 之前的计数removeAll()

有没有人有什么建议?

0 投票
2 回答
8310 浏览

java - JTabbedPane:在显示选定选项卡之前执行的操作

单击a 中存在的面板之一时JTabbedPane,我需要在开始时执行一些操作。比如说,我需要检查用户名和密码。只有当它们匹配时,才需要执行特定的面板操作。你能推荐一些方法吗?

0 投票
2 回答
1510 浏览

java - JSplitPanel(或 JTabbedPane)有什么问题?

我有两个希望向用户显示的面板。我决定将它们添加到 JTabbedPane。我还想让用户同时看到它们的并排视图。所以我将这两个面板添加到我的 JTabbedPane 中,然后我创建了一个 JSplitPanel:

生成的 JTabbedPane 只有一个选项卡!当我删除 JSplitPane 时,一切正常。两个选项卡。然后我尝试简化问题以在此处发布,我想出了这个:

这给了我另一个问题!它显示 3 个选项卡,但第三个选项卡的拆分窗格不显示任何按钮!

所以我的问题是 JSplitPanel 有什么问题?您不能让它显示已经在另一个选项卡中显示的对象吗?这没有道理。请帮我。

(注意:我不想复制我将要显示的组件,因为我希望它们是相同的参考)

0 投票
2 回答
1767 浏览

java - 在 JTabbedPane 中将选项卡置于最前面

当我在对象上使用setSelectedComponent或时,面板总是出现在我的 UI 中。但是,有时与面板关联的选项卡仍然隐藏。换言之,选项卡不会滚动到选项卡式窗格的可见部分。setSelectedIndexJTabbedPane

我怎样才能解决这个问题?我已经尝试过俗气的选择一个索引,然后选择所需的索引,以及其他几个更优雅的东西,但是 arrrrgh !

如果可以的话,请帮助我。

谢谢,托德