问题标签 [jcomponent]

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 投票
3 回答
3334 浏览

java - 自定义绘制的组件未在 JScrollPane 内绘制

我使用的是 Java JRE 1.6.7,并且有一个 JComponent 和一个 JScrollPane。我无法获得双缓冲来解决这个问题,这总是导致闪烁。如果我使用 Canvas,我会处理缓冲,但是当与 JScrollPane 结合使用时会导致问题。

所以我下载了 JRE 1.6.18,希望能解决其中一个问题。好吧,现在 JScrollPane 中的 JComponent 根本没有正确绘制。它只绘制 JComponent 的外部区域,就好像 JScrollPane 是在它上面绘制一样,除了边框。

这是一个不绘图的代码示例。这会导致应该进行绘图的区域出现 1 像素宽的白色轮廓:

任何帮助是极大的赞赏!-克雷格

0 投票
1 回答
71 浏览

java - JComponent:它如何抵抗小型化?

paint我有一个自定义的 JComponent,它在被调用时会绘制一些东西。但是,在Border布局中,它minimumSize没有受到尊重。我已经包括了这个

它永远不会被调用。我还尝试在容纳它的容器以及容纳它的 JFrame 上设置最小大小。我怎样才能在这里设置一些限制?

0 投票
3 回答
2571 浏览

java - 调整 JComponent 的大小以进行文件导出

我有一个 JPanel,我使用通常的“paintComponent(Graphics g)”方法在其上绘制了许多自定义编写的 JComponent。我使用一个 JLayeredPane 来控制自定义组件的显示顺序,如下:

现在,我想将此面板导出为 JPEG 文件,但大小不同。当我使用以下代码时,它成功创建/导出了所需大小的 JPEG 文件,但它也将我的面板屏幕图像版本更新为新大小!哎呀!

如何“绘制”适合导出的图像,但实际上不会显示这个新图像?

谢谢!


好吧,我又回到这个问题了......

我正在绘制的场景包含一些文本,现在最终用户希望以“纵向”纵横比导出图形。由于我不是在新的维度上重新绘制场景,而只是缩放图像,这会导致文本被严重水平挤压。

反正围绕那个?

0 投票
4 回答
19839 浏览

java - JSplitPane 精确分割 50%

在 Swing 中,使 JSplitPane 拆分两个 jpanel 的最佳方法是每个 50% 的大小。

看起来如果我没有在面板上设置首选尺寸,它总是使第一个面板几乎不可见(2%)和第二个面板(98%)

提前致谢

0 投票
1 回答
193 浏览

java - Java JComponent 可滚动重置位置

我有一个带有 BorderLayout() 的 JPanel

BorderLayout.CENTER 包含一个实现可滚动的 JComponent 而北包含一个 JLabel,当我在 JLabel 上调用 setText() 时,JComponent 的位置会重置回默认位置,即查看左上角?有没有办法解决这个问题,我看过 api 但我什么也看不到。

任何帮助将非常感激。

0 投票
1 回答
1061 浏览

java - 自定义 Java JTree 实现

有 2 个JTree:JTree1JTree2. 请注意,节点(国家、城市、颜色、蓝色...)都将实现为JCheckboxes,以便用户可以通过选择相应的复选框为每个城市或整个国家选择特定的颜色。

问题:

Q1。我希望每个国家或城市都可以选择自己的颜色。意味着如果用户想要city1.1蓝色和紫色以及city2.1红色,那么他首先必须选择city1.1复选框,然后选择蓝色和紫色,然后当他选择时city2.1,蓝色和紫色复选框会自动取消选中,这样用户可以选择颜色city2.1。但是当用户city1.1再次选择时,JTree2应该显示 city1.1 的选定颜色(蓝色和紫色)​​。

  • 因此,为此目的,JTree(其节点作为复选框)是正确的实现选项还是我应该使用其他选项JComponent

  • 如果 JTree 是一个正确的选项,那么我怎么能记住每个城市的颜色呢?

0 投票
1 回答
1977 浏览

java - 自定义 JComponent 未显示在自定义 JPanel 中

我尝试了 add() 方法,但是当我尝试将 Test 添加到 GraphicsTest 时没有显示任何内容。我应该如何添加它?有人可以给我看吗?我已经包含了我正在使用的代码。

这是我的方式,它不起作用。有人可以告诉我或让我知道问题到底是什么吗?

这是另一个类:

0 投票
1 回答
497 浏览

java - JComponent 取消停靠效果

我正在尝试为自定义 Swing JComponent 完成取消停靠效果。默认情况下,该组件与其他组件一起在表单中使用。我希望能够最大化这个组件以使用整个屏幕,然后能够再次停靠它。到目前为止我已经测试过

这给了我想要的效果,但是当关闭对话框时,我的组件不再接收事件。我怎样才能防止这种情况?

或者有没有更好的方法来实现这一点?

0 投票
4 回答
4201 浏览

java - 在 JFrame 中移动和调整 JPanels 对象的大小

通过做一个简单的游戏继续我学习Java的追求,我偶然发现了一个小问题。我的游戏板扩展了 JPanel 以及板的每一块。现在,这提出了一些问题:

  1. 无法设置每块的大小,因此,每块 JPanel 占据整个 JFrame,隐藏其余部分和背景(游戏板)。

  2. 无法设置碎片的位置。

我有默认的流管理器。试过setbounds,没有运气。

也许我应该制作这件作品来扩展其他 JComponent?添加的图像:这是一块,现在灰色区域也是一块!通过制作一个 mousePressed 侦听器并为其分配一些东西来检查这一点。灰色区域下方是游戏板(或者至少应该是!),另一个 JPanel。

替代文字 http://img42.imageshack.us/img42/2227/screenshotvdy.png

一些代码:

当我应用 pack() 方法时会发生这种情况: alt text http://img442.imageshack.us/img442/5813/screenshot2ml.png

包裹在单元周围,而不是更大并填充 JFrame 的地图。

0 投票
3 回答
3048 浏览

java - 调用 setVisible(true) 后如何让 JComponent 调整大小?

我们的应用程序显示我们数据的 2D 视图(主要是地图),然后允许用户更改为 3D 视图。2D 和 3D 视图是由自定义 C++ 代码生成的,这些代码被 SWIG'ed 到我们的 Swing GUI 中并包装在JComponent. 这些JComponents 然后显示在另一个父 JComponent 中。

我们的问题是,当我们从 2D 视图更改为 3D 视图然后返回 2D 视图时,当我们调整窗口大小时,2D 视图不会调整大小。调整大小事件不会发送到 2D 视图。

我们的应用程序在 Linux (Fedora 11) 下运行。我们正在运行 Java 版本 1.6.0_12。

这是一些示例代码,其中我用两个 2 替换了 2D 视图和 3D 视图JButton,这会产生相同的行为。一旦您转到 3D,然后返回 2D,调整窗口大小不会导致 2D 视图调整大小。

我为 Netbeans 生成的 GUI 代码道歉

我应该提到,当我们调用parent.remove(view2D)parent.add(view3D)更改视图时,我们的 3D 视图的 X Windows ID 会发生变化,我们无法恢复 3D 视图。因此parent.remove(view2D)andparent.add(view3D)并不是真正的解决方案,我们必须调用setVisible(false)and包含我们的 2D 和 3D 视图setVisible(true)JComponents 才能隐藏和显示它们。

任何帮助将不胜感激。