【发布时间】:2022-01-05 06:34:19
【问题描述】:
我将数据保存在 txt 文件中。我已经将它们加载到我的一个表单中的 jtable 中,我希望能够使用 GUI 表单中的按钮编辑 txt 文件。 另外,如果您能告诉我为什么 jtable 中出现空行,那将非常有帮助。
private void delbtnActionPerformed(java.awt.event.ActionEvent evt) {
}
private void modifybtnActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void newpassActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void newusernameActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
这里是查看按钮代码
private void viewbtnActionPerformed(java.awt.event.ActionEvent evt) {
try{
BufferedReader br = new BufferedReader(new FileReader("logindata.txt"));
String firstLine = br.readLine().trim();
String[] columnsName = firstLine.split("/");
DefaultTableModel model = (DefaultTableModel)datatable.getModel();
model.setColumnIdentifiers(columnsName);
Object[] tableLines = br.lines().toArray();
for(int i = 0; i < tableLines.length; i++)
{
String line = tableLines[i].toString().trim();
String[] dataRow = line.split(",");
model.addRow(dataRow);
}
}
catch(Exception ep){
Logger.getLogger(people_info.class.getName()).log(Level.SEVERE, null, ep);
}
}
这是我在 txt 文件中保存数据的方式
private void submitbtnActionPerformed(java.awt.event.ActionEvent evt) {
String user = usertxt.getText();
String pass = passwordtxt.getText();
try
{
FileOutputStream ldata = new FileOutputStream("logindata.txt", true);
PrintWriter printer = new PrintWriter(ldata);
printer.println(user+","+pass+","+","+",");
JOptionPane.showMessageDialog(null,"success, please login");
printer.close();
this.setVisible(false);
login lg = new login();
lg.setVisible(true);
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,"Error, please retry");
}
}
【问题讨论】:
-
能否贴出文本文件读取代码和表格填充代码?
-
@AbrahamArnold 我刚刚进行了编辑,您可以查看一下。
-
1) 我希望能够使用 GUI 表单中的按钮编辑 txt 文件。 - 然后您需要通过将所有数据写入表到文件。 2) 为什么我在 jtable 中出现空行 要么你 a) 创建了空行的表,要么你的文件有空行。你需要调试你的代码。
-
@camickr 好吧,txt 文件根本没有空行。这就是为什么我无法弄清楚为什么我在 jTable 中显示了空数据
-
@godopetza,你读过第一个建议了吗:
a) created the table with empty rows。除非您告诉它这样做,否则该表不会创建空行。你没有发布你的代码是你创建表和表模型,这就是为什么我说你需要调试你的代码来看看你在做什么。
标签: java swing user-interface