我在JScrollPane中有一個JTextPane,並且我想在JTextPane的頂部添加一個空的「填充空間」,以便JTextPane中的第一個實際文本行出現在底部JViewport。我有一個模糊的想法,在JTextPane的開頭可能有一個空的段落,並在每次調整JViewport的大小時修改其高度。任何人都有想法如何實現這樣的事情?也許有一個更簡單的方法?JTextPane和空填充空間
0
A
回答
3
您可以使用setMargin()來設置組件邊框與其文本之間的邊距。例如:
textPane.setMargin(new Insets(20, 0, 0, 0));
編輯:
請看下面的非常簡單的例子演示了使用setMargin()
:
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.FontMetrics;
import java.awt.Insets;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
public class MarginDemo {
private static void createAndShowUI() {
final JTextPane textPane = new JTextPane();
final JScrollPane scrollPane = new JScrollPane(textPane);
String text = "Lorem ipsum dolor sit amet, "
+ "consectetur adipiscing elit."
+ "Fusce nec sapien id diam consequat adipiscing.";
textPane.setText(text);
JFrame frame = new JFrame("MarginDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(scrollPane);
frame.setSize(new Dimension(200, 200));
frame.setVisible(true);
EventQueue.invokeLater(new Runnable() {
public void run() {
FontMetrics metrics = textPane.getFontMetrics(textPane
.getFont());
textPane.setMargin(new Insets(scrollPane.getViewport()
.getHeight() - metrics.getHeight(), 0, 0, 0));
}
});
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
createAndShowUI();
}
});
}
}
下面是結果:
+0
完美!就是我以後的樣子。 – n00bster
4
您可以在JEditorPane中使用自定義垂直對齊的示例http://java-sl.com/tip_center_vertically.html。要垂直提供底部對齊,應該將末尾的行更改爲 offset =(targetSpan - textBlockHeight);
相關問題
- 1. 填充空間
- 2. 填充JPanel底部的空白空間
- 3. 填充R空間中的空白
- 4. 格填充空間時,該值爲空
- 5. 如何填充空白空間當填充不起作用
- 6. 使div填充空間
- 7. 填充剩餘空間(CSS)
- 8. 空間填充算法?
- 9. TextBlock填充垂直空間
- 10. ImageView填充剩餘空間
- 11. 陣列填充空間
- 12. Textarea填充垂直空間
- 13. 填充水平空間
- 14. GridView和多餘的空間填充
- 15. 如何刪除填充和填充HTML5畫布之間的空間?
- 16. 填充陣列空
- 17. JTextPane填充小程序框
- 18. 如何填充一個JTextPane
- 19. 洪水填充空間複雜度
- 20. NSString填充/字符之間的空格
- 21. 如何讓div填充剩餘空間?
- 22. Silverlight MultiScaleImage不會填充可用空間
- 23. HTML/CSS:佈局列不填充空間
- 24. Android:PopupWindow填充鍵盤上方的空間
- 25. div填充剩餘空間屏幕
- 26. 如何使浮動div填充空間
- 27. 填充視頻下的剩餘空間
- 28. Bootstrap - 填充剩餘的垂直空間
- 29. 的JPanel填充所有的JFrame空間
- 30. ggplot2:用不同軸線填充空間
爲什麼? (15個字符) – kleopatra
我使用JTextPane作爲聊天組件,許多聊天客戶端都有這種行爲。 – n00bster
感謝您的解釋 - 不是自言自語:-) – kleopatra