Không giống như JTextArea
, JTextPane
không có tùy chọn tắt gói hàng. Tôi đã tìm thấy một số solution để tắt gói hàng trong JTextPane
giây, nhưng dường như quá chi tiết cho một vấn đề đơn giản như vậy. Có cách nào tốt hơn để làm điều này?Dòng gói JTextPane
Trả lời
Xem No Wrap Text Pane. Đây là mã được bao gồm từ liên kết.
JTextPane textPane = new JTextPane();
JPanel noWrapPanel = new JPanel(new BorderLayout());
noWrapPanel.add(textPane);
JScrollPane scrollPane = new JScrollPane(noWrapPanel);
Hope this helps http://java-sl.com/wrap.html
Đây là giải pháp tương tự mà tôi đã đăng ở trên. – Jeffrey
Các No Wrap Text Pane cũng cung cấp một giải pháp thay thế mà không yêu cầu gói các JTextPane
trong một JPanel
, thay vào đó nó sẽ ghi đè getScrollableTracksViewportWidth()
. Tôi thích giải pháp đó, nhưng nó không hoàn toàn phù hợp với tôi - tôi nhận thấy rằng gói vẫn xảy ra nếu khung nhìn trở nên hẹp hơn chiều rộng tối thiểu của JTextPane
.
Tôi thấy rằng JEditorPane
là ghi đè getPreferredSize()
để thử và 'sửa' mọi thứ khi chế độ xem quá hẹp bằng cách trả lại chiều rộng tối thiểu thay vì chiều rộng ưa thích. Điều này có thể được giải quyết bằng cách ghi đè getPreferredSize()
một lần nữa để nói 'không, thực sự - chúng tôi luôn mong muốn kích thước ưa thích thực tế':
public class NoWrapJTextPane extends JTextPane {
@Override
public boolean getScrollableTracksViewportWidth() {
// Only track viewport width when the viewport is wider than the preferred width
return getUI().getPreferredSize(this).width
<= getParent().getSize().width;
};
@Override
public Dimension getPreferredSize() {
// Avoid substituting the minimum width for the preferred width when the viewport is too narrow
return getUI().getPreferredSize(this);
};
}
- 1. JTextPane văn bản rõ ràng
- 2. Lấy văn bản thô từ JTextPane
- 3. JTextPane chắp thêm một chuỗi mới
- 4. JTextPane khối văn bản bất biến
- 5. Phông chữ/biểu tượng Monospaced cho JTextPane
- 6. tạo gói java trong dòng lệnh
- 7. Chạy gói osgi từ dòng lệnh
- 8. Bash nhắc dòng gói vấn đề
- 9. Quấn các từ dài trong JTextPane (Java 7)
- 10. Vô hiệu hóa việc bọc từ trong JTextPane
- 11. Java: Đăng ký <ENTER> nhấn phím trên JTextPane
- 12. Java JLabel, ngắt dòng văn bản sang dòng tiếp theo?
- 13. Màu nền văn bản JTextPane không hoạt động
- 14. JTextPane không hiển thị JScrollPane và không quấn văn bản
- 15. Ghi đè hành vi mặc định của TAB trong JTextPane
- 16. Tạo văn bản trong một JTextArea hoặc JTextPane
- 17. Java - Thay đổi phông chữ trong một JTextPane chứa HTML
- 18. Làm thế nào để có một JTextPane Scrollable?
- 19. JTextPane/JEditorPane và vấn đề văn bản lạ
- 20. Cách cài đặt gói thành phần Delphi từ dòng lệnh?
- 21. Dòng gói trong vòng emacs * biên dịch * buffer
- 22. Cách gói một dòng lệnh Kịch bản lệnh Python
- 23. Google Chrome textareas gói và thêm ngắt dòng
- 24. Bao gồm tập lệnh dòng lệnh với gói R
- 25. Ngăn chặn nổi divs từ gói để dòng tiếp theo
- 26. Xây dựng gói triển khai Web từ dòng lệnh
- 27. Cách gói ứng dụng dòng lệnh gốc trong apk?
- 28. Cách cài đặt gói từ dòng lệnh trên Suse
- 29. xuất khẩu đã ký gói ứng dụng với dòng lệnh
- 30. Mã Java để gói dòng văn bản vào chiều rộng dòng tối đa
Điều duy nhất gói 'cái JTextPane' trong một' JPanel' làm là vô hiệu hóa các thanh cuộn dọc. – Jeffrey
@Jeffrey, hoạt động tốt với tôi bằng cách sử dụng JDK6_7 (và các phiên bản cũ hơn) trên XP. Tôi không nghĩ rằng tôi sẽ đi đến tất cả các rắc rối của việc tạo một mục blog nếu nó không hoạt động. Đăng SSCCE của bạn cho thấy cách bạn đã thử nghiệm nó. – camickr
SSCCE với hình ảnh được đăng. – Jeffrey