2013-02-13 162 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解決了這個問題。似乎這是一個佈局問題。