Как добавить jtable с текстовым файлом, где он читает текстовый файл и отображает его в jtable
Я хотел бы добавить Jtable в свою систему заказов. А функция если страница должна быть такой :
Сотрудники должны ввести данные в текстовое поле, чтобы добавить клиента, когда сотрудники успешно введут данные клиента, данные будут автоматически вставлены в таблицу и в текстовый файл. Если сотрудники хотят обновить учетную запись клиента, им нужно нажать на данные пользователя из таблицы, когда они нажимают на данные клиента в таблице, данные автоматически вводятся в текстовое поле, и сотрудники могут изменить данные и нажать на кнопку Обновить. Таким образом, текстовый файл также будет обновлен.
Что я уже пробовал:
import javax.swing.*; import java.awt.event.*; import java.io.FileWriter; import javafx.scene.paint.Color; import javax.swing.table.DefaultTableModel; public class customer extends JFrame{ public static void main(String[] args) { customer frameTabel = new customer(); } JButton add = new JButton("Add"); JButton update = new JButton("Update"); JButton back = new JButton("Back"); JPanel panel = new JPanel(); JLabel cid = new JLabel("Customer ID:"); JLabel name = new JLabel("Name:"); JLabel number = new JLabel("Contact Number:"); JTextField textcid = new JTextField(15); JTextField textname = new JTextField(15); JTextField textnumber = new JTextField(15); customer(){ super("Customer Account"); setSize(400,400); setLocation(500,280); setResizable(false); panel.setLayout(null); cid.setBounds(70, 20, 100, 30); name.setBounds(70, 50, 100, 30); number.setBounds(70, 80, 100, 30); textcid.setBounds(170, 25, 150, 20); textname.setBounds(170, 55, 150, 20); textnumber.setBounds(170, 85, 150, 20); add.setBounds(70, 120, 80, 20); update.setBounds(160, 120, 80, 20); back.setBounds(270, 330, 80, 20); panel.add(add); panel.add(update); panel.add(back); panel.add(cid); panel.add(name); panel.add(number); panel.add(textcid); panel.add(textname); panel.add(textnumber); getContentPane().add(panel); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); actionadd(); actionback(); } public void actionback(){ back.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ae){ setVisible(false); new main(); }});} public void actionadd(){ add.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ae){ String cid = textcid.getText().toString(); String name = textname.getText().toString(); String number = textnumber.getText().toString(); try { FileWriter writer = new FileWriter("customer.txt", true); writer.write(cid); writer.write(System.getProperty("line.separator")); writer.write(name); writer.write(System.getProperty("line.separator")); writer.write(number); writer.write(System.getProperty("line.separator")); writer.close(); JOptionPane.showMessageDialog(rootPane, "Success"); } catch (Exception e) { JOptionPane.showMessageDialog(rootPane, "Error"); } } }); } }