问题标签 [jsplitpane]

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 投票
1 回答
560 浏览

java - 当我使用 java.awt.Canvas 时,JSplitPane 不会调整大小?

我有一个简单的例子,我java.awt.Canvas在 JSplitPane 中使用组件,而 JSplitPane 不允许调整。谁能解释为什么?(更重要的是,如何修复)

VerticalSplit.java:

CanvasTest1.java:

0 投票
1 回答
1054 浏览

java - Java:jsplitpane 和 boxlayout 的问题

我想摆脱jsplitpanes左侧的空白空间:

截屏

这是我的代码:

0 投票
2 回答
2313 浏览

java - CardLayout 无法正常工作

我已经用 Splitpane、Combobox 和其他几个包含按钮和标签的面板编写了这个简单的 Cardlayout 示例。

我可以在左侧看到带有组合框的拆分窗格,在右侧看到其他卡片布局面板。当我更改组合框项目时,尺寸正确时没有发生任何事情。为了验证我是否在打卡,我使用了 System.out.print("Event Triggered \n"); 但我看到的令人惊讶的事情是,它为每个组合框项目显示两次,就好像它调用了两次一样

您能否建议我在这里做错了什么以及为什么触发的事件被击中两次。感谢您的所有时间和帮助。

0 投票
1 回答
889 浏览

java - JSplitPane 和画布

作为我正在编写的应用程序的一部分,我需要将旧的(重量级)Canvas 与摆动组件混合在一起——特别是将它们嵌套在 JSplitPane 中。但是,当我这样做时,分隔线拒绝在任何地方调整大小,就好像两个画布都不会接受缩小尺寸一样。因此,演示该问题的代码是:

我最初认为这是一件很容易解决的事情,但是在进行了大量研究之后,这些选项似乎呈现为:

  • 改用 JPanel(在我使用 vlcj 直接渲染到画布上的情况下并不总是一个选项)
  • 插入在某些情况下可能有效的 x 狡猾的 hack

有没有更好的方法来做到这一点?或者它真的只是诉诸黑客的一个案例?我已经讨论过其他选项,例如是否可以使用替代的 SplitPane 实现,但没有重量级的实现,如果轻量级的实现避免了这个问题,我会感到惊讶。

0 投票
1 回答
590 浏览

java - Java:当计时器处于活动状态时,JSplitPane 将顶部面板的内容复制到底部面板

所以我有一个 JSplitPane 和两个 JPanel - 一个在顶部,一个在底部。在两个面板中,我都覆盖了paintComponent 方法并添加了我自己的图形。在底部面板中,我想添加一个动画。当面板不重新绘制时,这很好,但是一旦 Timer (javax.swing.Timer) 开始调用重新绘制,底部面板就会模仿顶部面板的外观并出现故障。实际动画并未刷新,而是不断添加(就像拖动的画笔而不是移动的对象)。

下面是底部面板类的代码:

这是 Splitpane 类的代码:

顶部面板有点复杂。它涉及鼠标操作(包括 MouseEntered 侦听器)和动画以与用户鼠标输入进行交互。奇怪的是,我有另一个底部面板被换掉了,它也使用动画和一个计时器,并且没有这个故障。

有什么想法可能导致这种情况吗?谢谢你的帮助!

0 投票
6 回答
11221 浏览

java - JSplitPane:有没有办法显示/隐藏其中一个窗格?

我有一个包含两个组件 A 和 B 的 JSplitPane,但有时我希望能够隐藏 B,以便以下任一情况为真:

  • 组件 A 和 B 在 JSplitPane 中可见
  • JSplitPane 占用的空间中只有组件 A 可见

有没有办法做到这一点?

0 投票
4 回答
1540 浏览

swing - 需要无效的 Swing 组件的高度

基本设置是这样的:我有一个垂直的 JSplitPane,我想要一个固定大小的底部组件和一个调整大小的顶部组件,我通过调用setResizeWeight(1.0). 在这个应用程序中有一个按钮可以恢复“默认”窗口配置。窗口的默认高度是桌面高度,默认分隔线位置是距拆分窗格底部 100 像素。

要将分隔线位置设置为 100 像素,我将 JSplitPane 高度设置为 100。问题是,就在此之前,我调整了 JFrame 的大小,并且由于代码在按钮回调中,因此 JSplitPane 已失效但尚未调整大小。所以分频器位置设置不正确。

这是一个SSCCE。单击该按钮两次以查看问题。第一次单击将调整窗口大小,但分隔线位置保持不变(相对于窗口底部)。第二次单击会正确移动分隔线,因为窗口大小没有改变。

我已经想到了一些可以解决这个问题的方法,但它们看起来都有些骇人听闻。到目前为止,我最好的想法是f.validate()在设置帧大小和设置分隔线位置之间进行调用,但我担心早期强制验证可能会产生副作用。

我想到的另一个选项是用于EventQueue.invokeLater()将调用设置为事件队列末尾的分隔符位置。但这对我来说似乎有风险——我假设 JSplitPane 将在那时得到验证,我担心这可能是一个错误的假设。

有没有更好的办法?

0 投票
1 回答
1900 浏览

java - 交换组件时如何锁定 JSplitPane 分隔符?

我有一个简单的扩展 JSplitPane,我在需要时将不同的面板设置为不同的时间。具体来说,我把它分成上下两部分,我经常换掉底部。每次我这样做时,我都会将滑块位置重置为我想要的位置,但有时它会跳出并重新定位到屏幕顶部(并非总是如此)。

这是我的代码:

基本上,我使用“setTo...Controls()”方法来交换底部面板。有没有办法告诉滑块保持在我放置的位置,而不管面板的首选尺寸如何,或者如果没有,我如何让面板知道自己要适应什么形状?感谢您的任何/所有建议!

编辑:我应该注意这些面板不使用布局。它们是自定义面板,我使用鼠标/键盘侦听器并使用我自己的图形在它们上面进行绘制。

0 投票
2 回答
1446 浏览

java - Swing JSplitPane 问题

如何将组件垂直拆分为不同的部分?在 Swing 中可以吗?我想为每个部分分配不同的 ScrollBar 吗?

0 投票
1 回答
319 浏览

java - 受内容影响的 JSplitPane 分隔线颜色

我正在开发一个在 JSplitPane 中显示两个 JScrollPanes 的应用程序。每个 JScrollPanes 都包含一个 JPanel,我正在将内容绘制到该 JPanel 上。问题是当我调整 JScrollPane 的分隔线时,分隔线的颜色会受到影响。它似乎呈现了其中 JPanel 的外观 - 也就是说,分隔线的背景具有我在 JPanel 中显示的单词和颜色的片段。

似乎我在这里遗漏了 revalidate() 或其他内容,但我无法深入了解它。