Võ Văn Hải's blog

Chỉ có một điều tuyệt đối đó là mọi thứ đều tương đối…

Hiển thị XML với màu sắc theo cú pháp

Bạn hãy xem kết quả sau khi hoàn tất
https://vovanhai.files.wordpress.com/2011/03/xmleditor.png

Để làm được điều này, bạn cần 1 gói jar có tên RSyntaxTextArea. Đây là 1 open project có link tại: http://fifesoft.com/rsyntaxtextarea/
Bạn download về, giải nén ta có file rsyntaxtextarea.jar. Bạn tham chiếu đến thư viện này và như vậy ta có thể dùng được rồi.
Code tạo giao diện và sử dụng library này:

package vovanhai.wordpress.com;

import java.io.FileInputStream;
import java.util.Scanner;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;

import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;

public class XMLSyntaxColorize extends JFrame {
	public XMLSyntaxColorize() {
		this.setTitle("XML syntax highlight");
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.setSize(500,400);
		RSyntaxTextArea rsyntaxtextarea = new RSyntaxTextArea();
		rsyntaxtextarea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_XML);
		this.add(new JScrollPane(rsyntaxtextarea));
		try {
			String doc="";
			Scanner sc=new Scanner(new FileInputStream("menu.xml"));
			while(sc.hasNextLine()){
				doc+=sc.nextLine()+"\n";
			}
			sc.close();
			rsyntaxtextarea.setText(doc);
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, e.getMessage());
		}
	}
	
	public static void main(String[] args) {
		new XMLSyntaxColorize().setVisible(true);
	}
}

Chúc thành công!

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.