问题标签 [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 投票
2 回答
4451 浏览

java - 在 JTabbedPanes 上设置选项卡标题颜色

在 JTabbedPane 上,如何为选中状态和未选中状态设置选项卡标题的颜色?

0 投票
2 回答
408 浏览

java - java - 停用监听器

我有一个关于听众的一般性问题。

假设我有两个JTabbedPanes 并且都有一个ChangeListener. 它们都显示了,我希望它们都显示相同的窗格(索引),因此当用户更改其中一个选定的窗格时,另一个也会更改。
简而言之,一个 JTabbedPane 侦听JTabbedPane器使用setSelectedTab().
显然,第一个侦听器将激活第二个侦听器,第二个侦听器将在无休止的操作中重新激活第一个侦听器。

这将通过布尔值解决。
有更聪明的方法吗?
有没有办法在不触发监听器的情况下更改选项卡?
有没有办法仅在用户更改侦听器而不是代码时才激活侦听器?

谢谢你。

顺便说一句:我总是对按钮有同样的问题。但是使用按钮,我从侦听器中获取代码并将其放入方法中。当一个按钮需要激活一个按钮时,它会调用它的代码。但在 JTabbedPane 中则不同。

0 投票
2 回答
1540 浏览

java - 如何在 JTabbedPane 选项卡上修改 JLabel?

所以说你有一个 JTabbedPane。在每个选项卡上,您都有一个带有 JLabel 的 JPanel 和一个 JButton。将 JLabel 的文本添加到窗格后,如何修改它?

0 投票
2 回答
70715 浏览

java - JTabbedPane ChangeListener

我需要检测所选选项卡何时更改,并获取其索引。

以下代码有效,但它触发的println次数与当前加载的选项卡数量一样多:

这样做的正确方法是什么?

0 投票
1 回答
3717 浏览

java - 如何判断我打开的选项卡是否是 java 中的活动选项卡?

我在 jtabbed 窗格中有一个面板,我只想在选项卡可见时刷新它。我尝试了 isShowing()、isDisplayable() 和 isVisible(),但它们似乎都不起作用,因为它们检查组件是否可以显示、可显示或可见。

最好从 JTabbedPane 内的 JPanel 的上下文中,我如何判断 JPanel 所在的选项卡是否是活动选项卡?

0 投票
2 回答
1425 浏览

java - 如何通知用户 JTabbedPane 中的特定选项卡需要注意?

假设您有一个包含五个或更多选项卡的用户界面,您需要通知用户选项卡“2”需要注意。

有没有办法做到这一点?例如让选项卡闪烁橙色,或更改选项卡的颜色?我在 requestFocus 上没有成功。

编辑:如果可能的话,我也有兴趣知道如何将焦点集中在选项卡 2 上。

0 投票
3 回答
5413 浏览

java - 如何设置 JTabbedPane 选项卡高度宽度背景前景色(选中和未选中选项卡)

如何设置JTabbedPane选项卡背景和前景、高度和宽度(选中和未选中的选项卡)

0 投票
3 回答
17981 浏览

java - How can I change the shape of a JTabbedPane tab?

I am trying to change the shape of the tabs in a JTabbedPane. Using setTabComponentAt(0, someComponent); doesn't change the exterior of the tab, which is a rectangle with a diagonal top-left corner. What may be done to change the shape?

0 投票
1 回答
344 浏览

java - 当我切换标签时,JXMultiSplitPane 会发疯

我正在使用JXMultiSplitPane(来自 SwingX 1.6.2)来实现三窗格水平界面。在中心窗格中是一个JTabbedPane带有两个选项卡的选项卡:一个带有一个JTextAreaJScrollPane当然是在 a 中)用于输入 Markdown 代码,另一个是一个JEditorPane(再次在滚动窗格中)用于显示呈现的 HTML 预览。当用户切换到预览窗格时,编辑器中的文本会被处理并显示在预览窗格中。

我的问题是,如果我在编辑器中输入长行文本,然后切换到预览,中心窗格将展开。有时它只是一点点,有时它会占用比屏幕上实际更多的空间。但是,如果我手动移动其中一个调整大小手柄,一切都会恢复原状。

在它发生之前,我发现只有两种方法可以解决这个问题:

  1. 在输入任何文本之前手动调整其中一个窗格的大小。
  2. 在 MultiSplitLayout 模型中,将中心窗格的权重设为 1。

我不能使用第二个,因为默认情况下它会扩展中心窗格以占据几乎整个窗口。

有没有办法来解决这个问题?

更新

经过更多测试,即使技术(2)也不能保持大小不变​​;在两个选项卡之间切换会稍微改变中心窗格的大小。

我现在认为问题部分出在选项卡式窗格中。和JTextArea没有JEditorPane相同的大小,并且JTabbedPane当我在它们之间切换时正在调整大小(因为我JEditorPane每次都在重置文本。这不是问题,除非它JXMultiSplitPane会自动调整中心窗格的大小,直到用户强制通过手动调整特定大小。

所以我应该能够通过固定大小来解决这个问题JTabbedPane,但仍然可以通过把手调整大小。有什么建议吗?

0 投票
3 回答
1843 浏览

java - JTabbedPane:如果堆叠/ Nimbus,避免自动重新排序选项卡

JTabbedPane 正是我所需要的。我的水平空间非常有限,所以我的标签会堆叠起来,这完全没问题。

但默认行为是,如果用户单击某个选项卡,*选项卡会重新排序,以便活动选项卡变为 lower-mos *t。理论上看起来非常直观和合乎逻辑的东西,在实际使用中却是一场噩梦,因为用户会忘记“哪个是哪个”。它只是简单地令人困惑,我一次又一次地被告知。

我想应该可以覆盖 UI 的某些方法以避免这种行为(而且我不在乎这在纸卡上是否可行:-)。

有人知道我需要在哪里做吗?我正在使用 Nimbus LAF,这似乎并不容易。

(我考虑过使用radiobuttons/cardLayout,但是我需要在标签标题中放置一个自定义面板,并且radiobuttons只能有一个字符串或图标。JToggleButton也是如此......)

非常欢迎任何提示!

谢谢和亲切的问候,菲利普