0

オブジェクトをファイルから に入れることができたのでArrayList、それらを に表示する必要がありJTableます。

これらは、私の中に含まれている 3 つのオブジェクトです。ArrayList

Lieu<Double, String>(45.573715, -73.900295, "p1");
Lieu<Double, String>(45.573882, -73.899748, "p2");
Lieu<Double, String>(45.574438, -73.900099, "p3");

クラスにはLieuメソッドがgetX()あり、getY()

しかし、それらを a で表示する方法がわかりませんJTable

Longitude           Latitude
45.573715           -73.900295
45.573882           -73.899748
45.574438           -73.900099

これが私が最初に持っているものです:

public class MonModel extends AbstractTableModel{

    @Override
    public int getColumnCount() {
        return 2;
    }

    @Override
    public int getRowCount() {
        return l.size();//l is the arraylist that contains the 3 elements
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        if(columnIndex==0){
            return l.get(rowIndex).getX();
        }
        else if(columnIndex==1){
            return l.get(rowIndex).getY();
        }
        return null;
    }
4

2 に答える 2

1

yourTableModelを使用して を作成し、JTableそれを に追加しJFrameます。ここgetColumnName()に示すように、オーバーライドすることも検討してください。表の使用方法も参照してください。

MonModel model = new MonModel();
JTable table = new JTable(model);
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(new JScrollPane(table), BorderLayout.CENTER);
f.pack();
f.setLocationByPlatform(true);
f.setVisible(true);
于 2013-04-12T01:28:26.143 に答える
1

TableModelでデータを表示するには、 を使用しJTableます。例えば:

UI クラスで、テーブル モデルをテーブルに設定します。

JTable table = new JTable(new MonModel());

テーブル モデル クラス

class MonModel extends AbstractTableModel {

    private List<LatNLon> l;
    private String[] columnNames = {"Longitude", "Latitude"};

    public MonModel() {
        l = new ArrayList<LatNLon>();

        l.add(new LatNLon("45.573715", "-73.900295"));
        l.add(new LatNLon("45.573715", "-73.900295"));
        l.add(new LatNLon("45.573715", "-73.900295"));
    }

    @Override
    public String getColumnName(int column) {
        return columnNames[column];
    }

    public int getColumnCount() {
        return 2;
    }

    public int getRowCount() {
        return l.size();
    }

    public Object getValueAt(int rowIndex, int columnIndex) {
        if(columnIndex==0){
            return l.get(rowIndex).getX();
        }
        else if(columnIndex==1){
            return l.get(rowIndex).getY();
        }
        return null;
    }
}

緯度と経度のクラス。

class LatNLon {
    private String x;
    private String y;

    public LatNLon(String x, String y) {
        this.x = x;
        this.y = y;
    }
// Code: For Getters and Setters.
}

テーブルの使い方もお読みください。

于 2013-04-12T03:52:21.063 に答える