我有一个Java swing应用程序,其面板包含三个无法正确绘制的JComboBoxe
combox框只显示为右侧的向下箭头,但没有当前所选值的标签。
如果窗口的大小调整大小甚至一个像素,则框将正确重绘。

我所有的谷歌搜索都指向在JPanel上调用revalidate()来解决这个问题,但这对我没有用。
JPanel上调用updateUI()已将其从始终显示错误更改为显示错误的一半时间。

有没有其他人看过这个并找到一种不同的方法来强制重绘组合框?

===============>>#1 票数:6 已采纳

您能否向我们提供有关如何将组合框添加到JPanel的更多信息? 这在Swing中是很常见的事情所以我怀疑这是一个JVM问题,但我想任何事都有可能。

具体来说,我会仔细检查以确保您没有从任何后台线程访问GUI。 在这种情况下,也许您正在从数据库或其他东西中读取选项并从后台线程更新JComboBox,这在Swing中是一个很大的禁忌。 请参阅SwingUtils.invokeLater()。

  ask by Ryan Ahearn translate from so

未解决问题?本站智能推荐:

1回复

JPanel重绘问题

我有一个JFrame,其中包含2个JPanel子类和BorderLayout中的2个JLabel。 其中一个JPanel包含JButtons,另一个用于显示图形。 JLabels位于北部和南部,西部是JPanel按钮,中间是JPanel。 显示JPanel需要不断刷新,所以我通过swi
1回复

如何重绘JPanel

更新后,JPanel重涂出现问题。 因此,我有一个向JPanel添加一些(用户选择)JTable的功能。 首次使用时,一切正常,所有组件均正常。 但是,当我第二次运行相同的功能时,所有组件都消失了。 而且我不明白为什么。 当我检查JPanel中的组件列表是可以的,但我什至看不到一个。
2回复

摆动:JPanel中的JTextField,重绘问题

我最近开始使用Java + Swing来构建UI,目前我在使用FlowLayout将JTextField放在JPanel上时遇到问题。 在我的示例中,我有一个窗口,其中包含带有按钮的面板。 单击按钮将添加一个从JPanel派生并包含JTextField的组件。 问题是,当我在JTe
2回复

Java Swing重绘问题

我正在尝试重新绘制一个面板,但它不起作用。 基本上我的面板接受一个ArrayList,然后对于ArrayList中的每个元素,它将其打印出来。 当我单击一个按钮时,它会删除ArrayList的相应元素,然后调用整个面板重新绘制自己。 我希望在重新绘制后显示相同的面板,但没有那个政治家,但点
2回复

如何使用Swing JPanel在Java中强制重绘?

为什么不为简单的动画重新绘制图像? 我从两种不同的方法调用repaint(),一种导致重新绘制,而另一种则没有。 确实重绘的方法是从事件侦听器生成的。 没有的是定时动画线程。 我知道动画线程正在正确运行,并且只要我不断滑动滑块,它就可以完美显示。 请帮助! PS:是的,我在这里看到
1回复

Grahpics2D Draw和JPanel重绘的并发问题

因此,我有一张地图,希望能够绘制矩形以突出显示一个区域。 释放鼠标后,地图上会绘制一个永久矩形,该矩形将一直保留到再次拖动鼠标以开始创建新矩形为止。 拖动鼠标时,应随其创建矩形轮廓。 重新单击鼠标后,将删除持久矩形,这将给定应用程序意味着将开始一个新的拖动事件。 发生的情况是第一
3回复

在JPanel中重绘查询

我是一个没有经验的人(除非您在70年代初期算过PDP-8),否则的程序员都在努力使用封闭类中的repaint方法。 该类旨在显示该地区的航空地图,然后在地图上绘制小圆圈以绘制飞机的飞行路线。 随着时间的流逝,地图将显示最常用的路径,随后飞机降落在当地机场。 问题是,经过几天的努力,
2回复

如何使用jpanel与油漆(或重绘)

我是油漆/图形的新手,并想知道如何将JPanel添加到我的代码中,使得整个图形将在JPanel而不是JFrame上。 换句话说,我正在尝试创建一个允许我这样做的GUI:在右侧显示LEFT侧JPanel上线条的良好移动,添加将显示的JTextArea(在JPanel上)图形的协调。
1回复

如何取消JPanel的重绘?

我知道JPanel默认是自动双缓冲的。 但是,我的面板中有一个特别耗时的绘画操作,但是当底层数据发生变化时,面板只需要重新绘制,这种情况很少见。 因此,我想重用JPanel缓冲区,而不是在每次调用repaint()后都清除它。 我在我的JPanel子类上手动实现了一个“脏”标志,但我不
1回复

Swing-在JPanel上重绘照片

大家好,请您帮助我。 正确地,我只需要使用从文件中获得的不同照片刷新JPanel 。 第一次添加JPanel并将照片放在框架上-正确显示了照片! 一切都好 但是当我尝试通过另一张照片动态更改当前照片并刷新JPanel -我看到了同一张(旧)照片。 并且使用以下“刷新”部分的代码