开发者

How can I get the text in a JTable?

开发者 https://www.devze.com 2022-12-12 05:56 出处:网络
For example I have a Table that I want to 开发者_高级运维get text that\'s in the first column and store it in an ArrayList.Java Tables often use the TableModel interface for storage.

For example I have a Table that I want to 开发者_高级运维get text that's in the first column and store it in an ArrayList.


Java Tables often use the TableModel interface for storage.

You can get the a particular value via:

myJTable.getModel().getValueAt(rowIndex, columnIndex);

More on that: Sun's Swing Table Tutorial


public static void main(String[] args)
{
    try
    {
        final JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Container cp = frame.getContentPane();
        cp.setLayout(new FlowLayout());

        final JTable tbl = new JTable(new String[][]{{"c1r1", "c2r1"}, {"c1r2", "c2r2"}}, new String[]{"col 1", "col 2"});

        cp.add(tbl);
        cp.add(new JButton(new AbstractAction("click")
        {
            @Override
            public void actionPerformed(ActionEvent e)
            {
                List<String> colValues = new ArrayList<String>();

                for (int i = 0; i < tbl.getRowCount(); i++)
                    colValues.add((String) tbl.getValueAt(0, i));

                JOptionPane.showMessageDialog(frame, colValues.toString());
            }
        }));

        frame.pack();
        frame.setVisible(true);
    }
    catch (Throwable e)
    {
        e.printStackTrace();
    }
}


You need to go through the JTable's TableModel, accessible through the getModel() method. That has all the information you need.

0

精彩评论

暂无评论...
验证码 换一张
取 消