How can I get the text in a JTable?

前端 未结 3 477
广开言路
广开言路 2021-01-25 21:38

For example I have a Table that I want to get text that\'s in the first column and store it in an ArrayList.

相关标签:
3条回答
  • 2021-01-25 21:50

    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

    0 讨论(0)
  • 2021-01-25 22:08
    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();
        }
    }
    
    0 讨论(0)
  • 2021-01-25 22:09

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

    0 讨论(0)
提交回复
热议问题