Java 在jtable上插入、删除和更新数据行
来自希腊的问候!。!。! 我的项目中的屏幕是: 一个jTable,5个jTextFields,5个jlabel和4个jbutton。 通过单击第1个按钮,我想在jTable中插入一行,其中包含来自jTextFields的值。通过单击第二个按钮,我想删除一行,其中包含来自jTable的数据。第三个是关于刷新和显示jTable上最后插入的记录。最后一个按钮是最简单的,也是我确信它能工作的按钮,用于返回应用程序的主屏幕。现在我不知道如何使其他3个按钮工作,因为我是java编程的新手,这是我认真的第一步。。任何人谁可以给一些有用的提示或链接,阅读他们将是非常有帮助的。。。非常感谢您抽出宝贵的时间。。。!!! 这是我的源代码:Java 在jtable上插入、删除和更新数据行,java,jtable,edit,Java,Jtable,Edit,来自希腊的问候!。!。! 我的项目中的屏幕是: 一个jTable,5个jTextFields,5个jlabel和4个jbutton。 通过单击第1个按钮,我想在jTable中插入一行,其中包含来自jTextFields的值。通过单击第二个按钮,我想删除一行,其中包含来自jTable的数据。第三个是关于刷新和显示jTable上最后插入的记录。最后一个按钮是最简单的,也是我确信它能工作的按钮,用于返回应用程序的主屏幕。现在我不知道如何使其他3个按钮工作,因为我是java编程的新手,这是我认真的第一步
package Forms;
/*import java.beans.Beans;
import static java.rmi.Naming.list;
import static org.eclipse.persistence.jpa.jpql.utility.CollectionTools.list;*/
/**
*
* @author Λάζαρος
*/
public class Customers extends javax.swing.JFrame {
private Object entityManager;
private Object list;
private Object query;
private Object rowId;
private String sql;
/**
* Creates new form Customers
*/
public Customers() {
/*if (!Beans.isDesignTime()) {
entityManager.getTransaction().begin();
}*/
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jScrollPane2 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jTextField4 = new javax.swing.JTextField();
jTextField5 = new javax.swing.JTextField();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jButton5 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Πίνακας Πελατών");
jTable1.setFont(new java.awt.Font("Georgia", 1, 12)); // NOI18N
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null}
},
new String [] {
"Κωδικός Πελάτη", "Όνομα", "Επώνυμο ", "Τηλέφωνο", "E-mail "
}
) {
Class[] types = new Class [] {
java.lang.Integer.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
});
jScrollPane2.setViewportView(jTable1);
jLabel1.setFont(new java.awt.Font("Georgia", 1, 12)); // NOI18N
jLabel1.setText("Κωδικός Πελάτη:");
jLabel2.setFont(new java.awt.Font("Georgia", 1, 12)); // NOI18N
jLabel2.setText("Όνομα:");
jLabel3.setFont(new java.awt.Font("Georgia", 1, 12)); // NOI18N
jLabel3.setText("Επώνυμο:");
jLabel4.setFont(new java.awt.Font("Georgia", 1, 12)); // NOI18N
jLabel4.setText("Τηλέφωνο:");
jLabel5.setFont(new java.awt.Font("Georgia", 1, 12)); // NOI18N
jLabel5.setText("E-mail:");
jTextField1.setFont(new java.awt.Font("Georgia", 1, 12)); // NOI18N
jTextField2.setFont(new java.awt.Font("Georgia", 1, 12)); // NOI18N
jTextField3.setFont(new java.awt.Font("Georgia", 1, 12)); // NOI18N
jTextField4.setFont(new java.awt.Font("Georgia", 1, 12)); // NOI18N
jTextField5.setFont(new java.awt.Font("Georgia", 1, 12)); // NOI18N
jButton2.setFont(new java.awt.Font("Georgia", 1, 12)); // NOI18N
jButton2.setText("Διαγραφή");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton3.setFont(new java.awt.Font("Georgia", 1, 12)); // NOI18N
jButton3.setText("Αποθήκευση");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jButton4.setFont(new java.awt.Font("Georgia", 1, 12)); // NOI18N
jButton4.setText("Ανανέωση");
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jButton5.setFont(new java.awt.Font("Georgia", 1, 12)); // NOI18N
jButton5.setText("Πίσω");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel1)
.addComponent(jLabel2, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel5, javax.swing.GroupLayout.Alignment.LEADING))
.addGap(45, 45, 45)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 333, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 333, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 333, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 333, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 333, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(67, 67, 67)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, 137, Short.MAX_VALUE)
.addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(36, 36, 36)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(21, 21, 21)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(21, 21, 21)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3)
.addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(22, 22, 22)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4)
.addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(22, 22, 22)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//Back button !!
this.setVisible(false);
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// Delete button !!
rowId = Πελάτες.getValue();
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
//Insert button !!
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// Refresh button !!
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
//</editor-fold>
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Customers().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTable jTable1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
private javax.swing.JTextField jTextField5;
// End of variables declaration
/*private void PreparedStatement(String insert_into_ΠελάτεςΚωδικόςΠελάτηΌνομαΕπών) {
//throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}*/
}
包装形式;
/*导入java.beans.beans;
导入静态java.rmi.Naming.list;
导入静态org.eclipse.persistence.jpa.jpql.utility.CollectionTools.list*/
/**
*
*@作者∧ζαρ
*/
公共类客户扩展了javax.swing.JFrame{
私有对象实体管理器;
私有对象列表;
私有对象查询;
私有对象rowId;
私有字符串sql;
/**
*创建新的表单客户
*/
公众客户(){
/*如果(!Beans.isDesignTime()){
entityManager.getTransaction().begin();
}*/
初始化组件();
}
/**
*从构造函数中调用此方法来初始化表单。
*警告:不要修改此代码。此方法的内容始终为
*由表单编辑器重新生成。
*/
@抑制警告(“未选中”)
//
私有组件(){
jScrollPane2=newjavax.swing.JScrollPane();
jTable1=newjavax.swing.JTable();
jLabel1=newjavax.swing.JLabel();
jLabel2=newjavax.swing.JLabel();
jLabel3=newjavax.swing.JLabel();
jLabel4=newjavax.swing.JLabel();
jLabel5=newjavax.swing.JLabel();
jTextField1=newjavax.swing.JTextField();
jTextField2=newjavax.swing.JTextField();
jTextField3=newjavax.swing.JTextField();
jTextField4=newjavax.swing.JTextField();
jTextField5=newjavax.swing.JTextField();
jButton2=newjavax.swing.JButton();
jButton3=newjavax.swing.JButton();
jButton4=newjavax.swing.JButton();
jButton5=newjavax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
片名(“πίνακας∏ελατν”);
jTable1.setFont(新的java.awt.Font(“Georgia”,1,12));//NOI18N
jTable1.setModel(新的javax.swing.table.DefaultTableModel(
新对象[][]{
{null,null,null,null,null},
{null,null,null,null,null},
{null,null,null,null,null},
{null,null,null,null,null}
},
新字符串[]{
“ωΔκκς∏ελάτη”、“ωνμα”、“ππκνμο”、“θηλέφωνο”、“电子邮件”
}
) {
类[]类型=新类[]{
java.lang.Integer.class、java.lang.String.class、java.lang.String.class、java.lang.String.class、java.lang.String.class
};
公共类getColumnClass(int columnIndex){
返回类型[列索引];
}
});
jScrollPane2.setViewportView(jTable1);
jLabel1.setFont(新的java.awt.Font(“Georgia”,1,12));//NOI18N
jLabel1.setText(“ωωΔκό∏ελάτη”);
jLabel2.setFont(新的java.awt.Font(“Georgia”,1,12));//NOI18N
jLabel2.setText(“μα:”);
jLabel3.setFont(新的java.awt.Font(“Georgia”,1,12));//NOI18N
jLabel3.setText(“ππώννμο:”);
jLabel4.setFont(新的java.awt.Font(“Georgia”,1,12));//NOI18N
jLabel4.setText(“tηλέφωνο:”;
jLabel5.setFont(新的java.awt.Font(“Georgia”,1,12));//NOI18N
jLabel5.setText(“电子邮件:”);
jTextField1.setFont(新的java.awt.Font(“Georgia”,1,12));//NOI18N
jTextField2.setFont(新的java.awt.Font(“Georgia”,1,12));//NOI18N
jTextField3.setFont(新的java.awt.Font(“Georgia”,1,12));//NOI18N
jTextField4.setFont(新的java.awt.Font(“Georgia”,1,12));//NOI18N
jTextField5.setFont(新的java.awt.Font(“Georgia”,1,12));//NOI18N
jButton2.setFont(新的java.awt.Font(“Georgia”,1,12));//NOI18N
jButton2.setText(“Διαγραφή”);
jButton2.addActionListener(新java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt){
jButton2ActionPerformed(evt);
}
});
jButton3.setFont(新的java.awt.Font(“Georgia”,1,12));//NOI18N
jButton3.setText(“πθεκεση”);
jButton3.addActionListener(新java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt){
JButton3执行的操作(evt);
}
});
jButton4.setFont(新的java.awt.Font(“Georgia”,1,12));//NOI18N
jButton4.setText(“Ανανέωση”);
jButton4.addActionListener(新java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt){
jButton4ActionPerformed(evt);
}
});
jButton5.setFont(新的java.awt.Font(“Georgia”,1,12));//NOI18N
jButton5.setText(“ίσω”);
jButton5.addActionListener(新java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt){
jButton5ActionPerformed(evt);
}
});
javax.swing.GroupLayout=newjavax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(