【问题标题】:How do you get a JTable to save data thats entered into it?你如何获得一个 JTable 来保存输入的数据?
【发布时间】:2017-04-27 23:41:41
【问题描述】:

正如标题所说,我有一个 JTable,但我不知道如何获取输入到其中的数据以进行保存。这是我的代码,如果这将有助于我将包含此类中的所有代码,以便您可以尝试一下。

package views;

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.JScrollPane;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.JButton;

@SuppressWarnings("serial")
public class AddItems extends JFrame {

private JPanel contentPane;
private JTable table;

/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                AddItems frame = new AddItems();
                frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the frame.
 */
public AddItems() {
    setTitle("Easy Inventory");
    setResizable(false);
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    setBounds(100, 100, 1024, 576);
    setLocationRelativeTo(null);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);

    JScrollPane scrollPane = new JScrollPane();
    scrollPane.setBounds(20, 99, 967, 352);

    JLabel lblNewLabel = new JLabel("");
    lblNewLabel.setBounds(163, 11, 727, 83);
    lblNewLabel.setIcon(new ImageIcon(AddItems.class.getResource("/views/itme entry.png")));

    table = new JTable();
    table.setModel(new DefaultTableModel(
        new Object[][] {
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
            {null, null, null, null, null},
        },
        new String[] {
            "Item #", "Item Name", "Quantity", "Price/each", "Price Total"
        }
    ) {
        @SuppressWarnings("rawtypes")
        Class[] columnTypes = new Class[] {
            Long.class, String.class, Long.class, Object.class, Object.class
        };
        @SuppressWarnings({ "unchecked", "rawtypes" })
        public Class getColumnClass(int columnIndex) {
            return columnTypes[columnIndex];
        }
    });
    table.getColumnModel().getColumn(0).setResizable(false);
    table.getColumnModel().getColumn(1).setResizable(false);
    table.getColumnModel().getColumn(2).setResizable(false);
    table.getColumnModel().getColumn(3).setResizable(false);
    table.getColumnModel().getColumn(4).setResizable(false);
    table.setCellSelectionEnabled(true);
    scrollPane.setViewportView(table);
    contentPane.setLayout(null);
    contentPane.add(lblNewLabel);
    contentPane.add(scrollPane);

    JButton button_1 = new JButton("");
    button_1.setIcon(new 
ImageIcon(AddItems.class.getResource("/views/Add.png")));
    button_1.setBounds(285, 478, 172, 49);
    contentPane.add(button_1);

    JButton button = new JButton("");
    button.setIcon(new 
ImageIcon(AddItems.class.getResource("/views/Update.png")));
    button.setBounds(538, 478, 172, 49);
    contentPane.add(button);
}   
}

【问题讨论】:

  • 数据将被保存到TableModel - 您只需使用getRowCountgetColumnCountgetValueAt 遍历TableModel
  • {null, null, null, null, null}, /** 100 rows later.. **/ {null, null, null, null, null}, 提示:如果你想弄清楚如何处理 N 个项目,请从 两个 而不是 100!

标签: java swing serialization jtable


【解决方案1】:

我强烈建议您从How to Use TablesJTableTableModel 的JavaDocs 开始

这个基本的想法是这样的......

JTable table = ...;
TableModel model = table.getModel();

for (int row = 0; row < model.getRowCount(); row++) {
    for (int col = 0; col < model.getColumnCount(); col++) {
        Object value = model.getValueAt(row, col);
    }
}

【讨论】:

    猜你喜欢
    • 2021-01-15
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-22
    • 1970-01-01
    相关资源
    最近更新 更多