我寫過許多使用JOptionPane
的項目,而且幾乎每次我都因爲無法將文本包裹在其中而感到沮喪。JOptionPane使用自定義Swing組件的文字環繞
我知道JOptionPane
支持HTML,但總是似乎沒有做我想做的事情。首先,JOptionPane
並不完全支持HTML - 例如,max-width
屬性會非常棒。另一方面,<br />
和<p>
標籤都不提供我真正需要的功能 - 一個JOptionPane,當消息很小時很小,當消息較大時可以增長,但不會變得太大,最終會分裂成一個新隊。
這使我想到我的問題。有沒有一些方法可以編寫我自己的自定義組件,可能從JFrame
或類似的東西繼承,這將允許我模擬JOptionPane
的效果,但它提供了對所顯示文本的更精細控制?這應該至少包括控制最大寬度和包裝文本的功能。
我還沒有通過搜索其他問題找到答案(也許答案是由所有答案,「使用HTML」)淹沒了。這不是這些問題的重複。
感謝您的回答,但並沒有解決我的問題。我想要一個可重用且健壯的組件,並且一般可以處理我傳遞給它的任何類型的輸入。我希望能夠通過它「嗨」或整個段落,並仍然顯示乾淨。我不想通過放入一堆換行符來手動將其傳遞給每個文本。事實上,問題的關鍵在於避免這樣做。應該有一個組件爲我們做。 – nhouser9
@ nhouser9如果我每次聽到有人這樣說都有一美元。 Swing API非常靈活,只需一點努力即可產生驚人的效果。例如,你知道'JOptionPane'的'message'參數是一個'Object',如果你傳遞一個基於Component的對象,它就被簡單地「添加」到'JOptionPane'中。想一想這一點 – MadProgrammer