2013-02-13 123 views
0

我有一些秋千画的问题。秋千画问题

我的下面的UI(看下图)在左边有一个JTextField,它可以显示自动完成提示。在右侧,应显示从文本框中选择的元素。这些元素由使用FlowLayout(FlowLayout.LEFT)作为布局管理器的JPanel包含。

my ui

现在选择从文本字段,这将被添加到的FlowLayout一些元件时,该元件不会被涂漆。 (如下图所示) New elements won't be painted

现在我有两种可能性来显示这些非绘制元素。

首先:调整JFrame的大小后,会显示元素。

第二:选择足够的元素,以便FlowLayout必须换行。换行符后,所有元素都将显示。在选择其他元素时,它们将不会显示,直到下一个换行符。一的FlowLayout换行后

元素:

Elements after a FlowLayout line break

我能做些什么?

+0

尝试调用:添加元素后,在FlowLayout面板上重新验证()。这将强制布局管理器再次布置其组件。 我不能建议比没有看到一些代码。问题也可能出现在您的绿色组件涂料方法中。 – 2013-02-13 13:41:54

+0

如果'revalidate()'不起作用,请尝试添加'repaint()'。 – 2013-02-13 13:44:51

+0

我已经尝试了下面的“魔术”摆动方法:validate(),revalidate(),repaint(),updateUI()。 – endian 2013-02-13 13:47:38

回答

0

交换FlowLayout抛出自定义WrapLayout解决了这个问题。似乎这是一个布局问题。