2010-11-11 38 views
9

Tôi đang tạo một trình duyệt web bằng Java. Trong trình duyệt này, tôi đang sử dụng JEditorPane cho Cửa sổ trình duyệt. Tôi đang sử dụng phương thức "setPage (String url)" để hiển thị trang. Trình duyệt có thể hiển thị trang nhưng có một số vấn đề như đã đề cập ::jEditorPane dưới dạng trình duyệt web

  1. Trình duyệt không hiển thị tập lệnh java.
  2. Nó không hiển thị Applet.
  3. Dữ liệu duyệt web không hiển thị đúng cách (giống như trình duyệt (Hiển thị trong hình alt text)).

Mã của tôi là-

JEditorPane editorPane = new JEditorPane(); 
String url="http://google.co.in";  
editorPane.setEditable(false); 
    try { 
     editorPane.setPage(url); 
    } catch (IOException e) { 
     System.err.println("Attempted to read a bad URL: " + url); 
    } 
} 
+0

Tôi thực sự không hiểu vấn đề thứ ba của bạn. Có lẽ bạn có thể rephrase nó. – lucasrizoli

+0

@lucasrizoli: Tôi tin rằng anh ấy có nghĩa là hiển thị không hoàn hảo. –

Trả lời

7

JEditorPane có hỗ trợ html và css giới hạn. Nó không hỗ trợ javascript hoặc applet. Nó không có ý định được sử dụng như một trình duyệt web. Sun đã hứa với JWebPane rằng sẽ gần hơn với một trình duyệt, nhưng nó chưa bao giờ được phát hành.

Nếu bạn thực sự sẵn sàng triển khai trình duyệt bằng java, hãy tham gia một số dự án trình duyệt java mã nguồn mở như Lobo browser. Bằng cách này, bạn có thể áp dụng kiến ​​thức của mình theo đúng hướng. Không có điểm nào làm nó từ đầu.

2

Các JEditorPane chỉ có thể render HTML rất cơ bản. (Ngay cả khi SE6, nó chỉ hiểu HTML 3.2 — một tiêu chuẩn từ năm 1997!) JEditorPane không thể nhúng các applet hoặc Flash, cũng không thể giải thích JavaScript được. Trên thực tế, JEditorPane được viết thành một widget để chỉnh sửa văn bản đa dạng (ví dụ: văn bản có kích thước khác nhau với định dạng đơn giản như chữ đậm và in nghiêng), không phải thứ gì đó để hiển thị HTML, CSS và v.v.

Thay vào đó, bạn có thể muốn thử JDIC's embeddable browser.

1

Bạn đã thử SWT chưa? Nó sử dụng trình duyệt mặc định của hệ thống hoặc tôi tin rằng bạn có thể chỉ định trình duyệt của Mozilla hoặc Apple (tôi không phải là người hâm mộ Apple và không thể nghĩ ra tên ngay bây giờ). Nó không mã hóa nó từ đầu và họ phải có một trình duyệt khác được cài đặt nhưng trong Java tôi nghĩ đó là lựa chọn tốt nhất của bạn. Bạn có thể tìm thấy các thư viện khác nhau kết hợp cả Swing và SWT với một tìm kiếm google đơn giản, do đó bạn không cần phải lựa chọn giữa hai.

1

JavaFX dường như xử lý việc này. Điều này đã được thử chưa?

+0

trạng thái tương thích hiện tại của trình duyệt trong JavaFX có thể so sánh được với tất cả các trình duyệt khác. – Panayotis

Các vấn đề liên quan