Gracias por la pronta respuesta a ambos!!!
@chuidiang
Entiendo lo que dijiste y asi fue como lo relacione como si manejara un ComboBox y no tengo problemas con el nombre del pais en la celda el toString en la clase Paises esta bien...
ahora @cazador1992
me entendiste perfecto, asi era mi consulta y la tabla quedaba algo como
CodProvincia =1
nomProvincia = Córdoba
codPais = 1
Donde 1 corresponde al pais Argentina y me funcionaba perfecto PERO establecimos con mi profesor (estoy haciendo la tesis de mi carrera) que estaba mejor que la tabla no mostrara el codigo sino directamente el nombre del Pais, y el tenia razon... pero... NECESITO ESE CODIGO jaja para poder llenar mi combo paises en el jDialog siguiente y realizar la modificacion.
Sino la otra solucion que pensaba era la de ocultar la columna idPais,
Código:
table.removeColumn(ListadoTable.getColumnModel().getColumn(1));
pero si la oculto, mi boton Modificar no toma el dato (idPais) para enviarlo al JDialog..... y es como si le enviara algo vacio.
les ajunto el codigo de mi boton Modificar.
Código:
private void btnModifActionPerformed(java.awt.event.ActionEvent evt) {
System.out.println(tablePro.getSelectedRow());
if(tablePro.getSelectedRow()!=-1) //Esto me permite saber si se selecciono o no una fila.
{
//Abre jDialog
ModifProvincias modpro = new ModifProvincias(this,true);
//Paso a la siguiente pantalla los datos de la provincia seleccionada;
int codigo =Integer.valueOf(tablePro.getValueAt(tablePro.getSelectedRow(), 0).toString());
String pro = tablePro.getValueAt(tablePro.getSelectedRow(), 1).toString();
//int codPais = Integer.valueOf(tablePro.getValueAt(tablePro.getSelectedRow(), 2).toString());
//Este es el error
Paises p = (Paises) tablePro.getValueAt(tablePro.getSelectedRow(), 2);
int codPais = p.getIdPais();
modpro.getProvSeleccionada(codigo, pro, codPais);
//Muestro la pantalla
modpro.setVisible(true);
habilitarBotones(true);
tablePro.setVisible(false);
//ActualizarTablaModif();
}
else
{ JOptionPane.showMessageDialog(this, "Debe seleccionar una provincia de la tabla para realizar la operacion"); }
}
y mi JDialog que recibe estos datos
Código:
public class ModifProvincias extends javax.swing.JDialog {
private Conexion conexion;
private int codSeleccion;
private int codPaisSeleccion;
private String nomSeleccion;
public ModifProvincias(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
cargarComboPais();
Conexion.getInstance().abrirConexion();
}
public void getProvSeleccionada(int c,String n, int cp)
{
codSeleccion=c;
nomSeleccion=n;
codPaisSeleccion = cp;
habilitarEdicion();
System.out.println("codi" + codSeleccion + "provincia:" + nomSeleccion + "Pais: "+ codPaisSeleccion);
}
public void habilitarEdicion()
{
setValorSeleccionadoCombo(cboPais, codPaisSeleccion);
txtCod.setText(String.valueOf(codSeleccion));
txtPro.setText(nomSeleccion);
}
private void setValorSeleccionadoCombo(JComboBox jCombo, int cod) {
for (int i = 0; i < jCombo.getItemCount(); i++) {
Paises item = (Paises) jCombo.getItemAt(i);
if (item.getIdPais()== cod)
{
cboPais.setSelectedItem(item);
}
}
}
Nuevamente muchas gracias y disculpen si el nombre de las variables los lía un poco...