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 Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: