2011-12-08 43 views
0

所以我的程序是這樣的,我點擊框架的一部分,並出現一個JOptionPane,要求輸入。例如,我輸入APPLES。然後,我點擊框架的另一部分,這次輸入ORANGES。用drawString在框架上顯示字符串?

這裏是捕獲。當我將鼠標懸停在點擊的點上時,例如在APPLES點上,以drawString的形式出現在畫面上。然後當我懸停在ORANGES點上時,應該出現ORANGES。

我想在懸停時在我的框架上顯示不同的字符串。有人有主意嗎?提前致謝! :)

注意:不需要打擾mouseListeners和mouseMotionListeners,我唯一的問題是通過drawString顯示各種字符串:)或者你可以推薦其他的選擇。

+0

假設你重寫'paint(...)'爲什麼你不檢查一些條件是否根據鼠標座標繪製一個字符串? – Thomas

+0

哎呀抱歉,我誤解了你的問題。這個問題我不知道如何匹配字符串的座標 – alicedimarco

+0

實現並註冊'MouseMotionListener'對'mouseMoved()'作出反應的問題是什麼? – korifey

回答

1

我不確定,我理解你的問題是正確的。但是你必須重寫表單類中的paintComponent(Graphics g)方法,並且在這個方法中你將調用g.drawString(yourString);方法。當你把鼠標懸停在你的「蘋果點」上時,只需在你的框架類的APPLES和call method repaint()上設置「yourString」。不要忘記清除你的表單區域,這樣字符串就不會彼此對齊

+0

嗯。我不想初始化字符串。它可以是任何字符串。例如,我在選項窗格中鍵入任何單詞,它必須與點對應並顯示我輸入的單詞。 – alicedimarco

+0

所以你必須使用某種數據結構(比如ArrayList,HashMap或其他)來存儲你的Point-String對,當你移動鼠標時,只需找到合適的Point字符串,就可以移動並設置yourString爲找到字符串。 – Kousalik

+0

我實際上已經實現了一個HashMap,但是,它所做的是它爲每個點D顯示相同的字符串: – alicedimarco

相關問題