簡體   English   中英

Java-如何添加將JTextPane分成3列?

[英]Java - How can I add make a JTextPane split in 3 colums?

我正在使用一個聊天客戶端,但有一個問題:我想做的是將JTextPane分為3個列,以便在第一個列中輸入用戶名,在第二個列中輸入消息和日期。第三。 我試圖通過創建3個單獨的JTextPane來做到這一點,然后同步它們的滾動條,直到我看到它對插入圖釋的反應如何,一切似乎都運行良好。 當消息具有多行代碼時,用於名稱和日期的JTextPanes將打印新行,但表情符號具有不同的高度,並且JTextPanes的名稱和日期無法跟上它們。 對於單行,我通過插入尺寸為1px(圖釋的高度)的空白圖像來解決,但這僅適用於其中一行。 讓我們回到我的問題。 在我有多個JTextPanes的情況下,我不願意繼續就如何解決問題進行集思廣益,因為我敢肯定還會有更多問題出現。 還有另一種解決方法嗎? 我可以只用一個JTextPane做到嗎,怎么做? 這是它如何與3個JTextPanes一起工作的屏幕截圖: http : //postimage.org/image/611z2807b/這是我如何在Eclipse中構造JTextPanes的圖片: http : //postimage.org/image/n2ut4bf2f/我希望有足夠的信息,並在此先感謝! 我之所以沒有提供SSCCE,是因為我的代碼只有幾百行,確實花了我一段時間才可以取出問題的重要行,但是如果確實需要,我會的。

您可以按照此處http://java-sl.com/JEditorPaneTables.html所述添加自定義表。

在行的單元格中添加3列表格,將您的內容。 如果需要,還可以設置不可見的邊框。

一些Java Swing組件具有HTML功能,因此可能會有一個JComponent ,它使您可以按照描述的方式來格式化文本輸出(也許是輸入?)。

許多聊天客戶端在同一字段中打印用戶名和消息,因此您可以選擇並復制用戶名和消息。

我認為僅使用一個JTextPane甚至幾個JTextPane都會使您很難使它真正正常地工作。 與采用更簡單的方法相比,最終將需要做更多的工作來使其更牢固。

看您提供的圖片,我可以看到3列GridLayout的完美使用,每列垂直對齊頂部。

如果發現長時間聊天時遇到性能問題, 可以優化性能。 但是不要擔心,直到您到達那里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM