Buenas noches,
Necesito ayuda con mi proyecto en Java lo tengo prácticamente finalizado pero esto es lo único que me tiene estancado,
Quiero evitar duplicados de la columna código de cliente de un Jtable, al darle clic al botón "Guardar", evalué si no hay código con ese valor lo guarde en la tabla si ya existe este código muestre la excepción que "Código del cliente ya existe" y no guarde.
Les agradecería su ayuda,
Saludos.
Si se puede pero muestra algo de código a ver como la tienes?...
package foro;
import javax.swing.*;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.util.ArrayList;
import java.util.List;
/**
* @Autor rub´n y google
*/
public class JTableAvoidDuplicados
extends JFrame {
public JTableAvoidDuplicados() {
init();
setSize(500, 100);
pack();
setLocationRelativeTo(null);
setDefaultCloseOperation
(JFrame.
EXIT_ON_CLOSE); setVisible(true);
}
private void init() {
add(panelNorte);
}
titledBorder.
setTitleFont(new Font(Font.
SANS_SERIF,
Font.
BOLD,
16)); panel.setBorder(titledBorder);
/**
* Filas de la table
*/
defaultTableModel.addColumn("Codigo");
defaultTableModel.
addRow(new Object[]{"codigo-0000"}); defaultTableModel.
addRow(new Object[]{"codigo-0001"}); defaultTableModel.
addRow(new Object[]{"codigo-0002"}); defaultTableModel.
addRow(new Object[]{"codigo-0003"});
return panel;
}
panelSur.
setBorder(BorderFactory.
createEmptyBorder(10,
0,
5,
0)); panelSur.
add(new JLabel("Introduce codigo: ")); panelSur.
add(Box.
createHorizontalStrut(10)); panelSur.add(textField);
panelSur.
add(Box.
createHorizontalStrut(10)); panelSur.add(button);
initBehaviour();
return panelSur;
}
private void initBehaviour() {
button.addActionListener(e -> tabla(table, textField));
}
boolean exists = false;
for (int i = 0; i < tabla.getRowCount(); i++) {
s = tabla.getValueAt(i, 0).toString().trim();
if (jTextField.getText().equals("")) {
JOptionPane.
showMessageDialog(null,
"Introduce un valor"); break;
} else if (jTextField.getText().equals(s)) {
exists = true;
break;
}
}
if (!exists) {
final List<String> lista = new ArrayList<>();
final String codigo
= jTextField.
getText(); if (!codigo.equals("")) {
lista.add(jTextField.getText());
dd.addRow(lista.toArray());
}
} else {
JOptionPane.
showMessageDialog(null,
"Codigo existente."); }
}
public static void main
(String...
gaga) { try {
ex.printStackTrace();
}
new Thread(JTableAvoidDuplicados
::new).
start(); }
}