我已經給出了關於如何顯示消息列表的非常具體的要求。每條消息可以長達3200個字符。對於消息的這種特定顯示,只顯示每個消息的前兩行,顯示消息的原始格式完整(標籤,空格,換行符)。消息將包含在JInternalFrame中。當用戶拖動框架的一側以增加或減小其寬度時,消息的可見文本應與框架一起增加或減少,因此不需要水平滾動條。JTextArea中的垂直對齊
我能夠獲得所需的行爲與該文本增加/使用與所述幀的所述寬度減小的以下內容:
JTextArea ta = new JTextArea();
ta.setLineWrap(true);
ta.setWrapStyleWord(true);
ta.setRows(2);
ta.setEditable(false);
ta.setOpaque(false);
ta.setText(longString());
ta.setAlignmentY(TOP_ALIGNMENT);
JScrollPane scrollPane = new JScrollPane(ta);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scrollPanes的列表被添加到一個JScrollPane與垂直滾動條,但JInternalFrame中沒有水平滾動條。
我遇到的問題是文本停留在JTextArea的底部,因此用戶看到消息的最後兩行,而不是前兩行。似乎可以設置水平對齊,但不能設置垂直對齊。有什麼方法可以讓頂部的文本對齊自動擴展/縮小文本?
沒有什麼區別 – Blunderchips