Đây có thể không phải là địa điểm thả xuống giống như những gì bạn đang theo dõi ... nhưng JTextPane hỗ trợ văn bản và HTML phong phú. Tầm quan trọng của nó để hiển thị hiển thị rtf hoặc html, chỉ cần đặt loại mã hóa trước khi bạn điền vào nó bằng nội dung.
Để tạo các nút "sửa đổi phong cách" nhỏ "B" và "I", tốt nếu nó rơi xuống, trong một nhúm khó có thể khiến bạn khó. Nghĩ JButton với các biểu tượng được đặt. Người nghe của họ có các vị trí chỉ mục bắt đầu và kết thúc lựa chọn của JTextPane như sau: jpane.getSelectionStart()
hoặc jpane.getSelectionEnd()
và sau đó chèn mở và đóng thẻ html/rtf tại các vị trí đó.
Hoàn tác cũng dễ dàng - duy trì một chồng nội dung chuỗi đơn giản của Jpanel, mỗi khi người dùng thực hiện hành động chỉnh sửa, history.push đơn giản (jpane.getText()) sẽ lưu trữ trạng thái và hoàn tác nút sẽ đơn giản như jpane.setText (history.pop()).
Tôi/bạn có thể tạo một cái với B, I & hoàn tác trong khoảng 30 phút tôi nghĩ - các nút khác như danh sách sẽ mất nhiều thời gian hơn, nhưng không nhiều.
Tôi không có ý tưởng abt Swing, nhưng [jEdit] (http://www.jedit.org/) có vẻ là hoàn toàn Java .. Và nguồn mở của nó quá – nawfal