2012-10-30 166 views
0

我有一个小项目来完成。我必须解析一个XML文件,然后显示到用户界面(摆动)。我做了一些研究并尝试了SAX解析。现在,我正在考虑如何将对象模型转换为UI。 这里是教程链接,我发现: http://www.mkyong.com/java/how-to-read-xml-file-in-java-sax-parser/使用SAX的XML解析器java Swing

+0

你可以发布你的代码的水果,你试过了吗? – sunleo

+0

你觉得它看起来如何?你想要执行什么交互? – MadProgrammer

+0

这里没有问题... –

回答

2

在这里,我们去你要的是做了什么。

import javax.swing.*; 
import javax.swing.table.DefaultTableModel; 
import java.awt.*; 
import java.util.ArrayList; 
import java.util.Iterator; 

public class JTableComponent { 
    public static void main(String[] args) { 
     new JTableComponent(); 
    } 

    public JTableComponent() { 
     JFrame frame = new JFrame("Creating JTable Component Example!"); 
     JPanel panel = new JPanel(); 

     DefaultTableModel aModel = new DefaultTableModel() { 
      public boolean isCellEditable(int row, int column) { 
       return false; 
      } 
     }; 

     Staff s1 = new Staff("vinod1", "BCA", "A", "10000"); 
     Staff s2 = new Staff("vinod2", "BCA", "A", "20000"); 
     Staff s3 = new Staff("vinod3", "BCA", "A", "30000"); 
     Staff s4 = new Staff("vinod4", "BCA", "A", "40000"); 
     ArrayList<Staff> l = new ArrayList<Staff>();// here you will get parser 
                // object this is as sample 
     l.add(s1); 
     l.add(s2); 
     l.add(s3); 
     l.add(s4); 
     Iterator<Staff> is = l.iterator(); 

     String col[] = { "firstname", "lastname", "nickname", "salary" }; 
     aModel.setColumnIdentifiers(col); 
     JTable table = new JTable(aModel); 
     while (is.hasNext()) { 
      Staff t = is.next(); 
      String firstname = t.getFirstname(); 
      String lastname = t.getLastname(); 
      String nickname = t.getNickname(); 
      String salary = t.getSalary(); 
      String temp[] = { firstname, lastname, nickname, salary }; 
      aModel.addRow(temp); 
     } 
     table.setModel(aModel); 
     panel.add(table, BorderLayout.CENTER); 

     frame.add(panel); 
     frame.setSize(300, 300); 
     frame.setVisible(true); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    } 
} 

豆你出xml文件

public class Staff 
{ 
    String firstname= ""; 
    String lastname =""; 
    String nickname = ""; 
    String salary = ""; 

    public Staff(String firstname,String lastname,String nickname,String salary) 
    { 
     this.firstname= firstname; 
     this.lastname =lastname; 
     this.nickname = nickname; 
     this.salary = salary; 
    } 

    public String getFirstname() { 
     return firstname; 
    } 
    public void setFirstname(String firstname) { 
     this.firstname = firstname; 
    } 
    public String getLastname() { 
     return lastname; 
    } 
    public void setLastname(String lastname) { 
     this.lastname = lastname; 
    } 
    public String getNickname() { 
     return nickname; 
    } 
    public void setNickname(String nickname) { 
     this.nickname = nickname; 
    } 
    public String getSalary() { 
     return salary; 
    } 
    public void setSalary(String salary) { 
     this.salary = salary; 
    } 

}