Então pessoal, quero adicionar uma linha da tabela da esqueda na tabela da direita, quando a pessoa apertar o botão, e ao mesmo tempo que isso acontecer essa linha vai ser retirada da tabela da esqueda.
Eu tenho a coluna idLayouts e a coluna nomes.
Eu quero passar essas colunas para a outra tabela ao clicar no botão de enviar para a coluna da direita.
Ja tentei de tudo, mas nãoo consigo de jeito nenhum
Segue os códigos abaixo:
Minha tela
A classe AbstractTableModel :
public class LayoutTableModel extends AbstractTableModel {
private List<Layoutsos> listaLayoutos;
public LayoutTableModel(List<Layoutsos> listaLayoutos) {
this.listaLayoutos = listaLayoutos;
}
public void addRow(Layoutsos layout){
this.listaLayoutos.add(layout);
this.fireTableDataChanged();
}
public void removeRow(int linha){
this.listaLayoutos.remove(linha);
this.fireTableRowsDeleted(linha, linha);
}
@Override
public int getRowCount() {
return this.listaLayoutos.size();
}
@Override
public int getColumnCount() {
return 2;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Layoutsos n = listaLayoutos.get(rowIndex);
switch (columnIndex) {
case 0:
return n.getIdlayoutsos();
case 1:
return n.getNome();
}
return null;
}
@Override
public String getColumnName(int column) {
switch (column) {
case 0:
return "ID";
case 1:
return "Nome";
}
return "";
}
}[/code]
A classe Layoutsos
[code=java]@Entity
@Table(name = "layoutsos")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Layoutsos.findAll", query = "SELECT l FROM Layoutsos l"),
@NamedQuery(name = "Layoutsos.findByIdlayoutsos", query = "SELECT l FROM Layoutsos l WHERE l.idlayoutsos = :idlayoutsos"),
@NamedQuery(name = "Layoutsos.findByNome", query = "SELECT l FROM Layoutsos l WHERE l.nome = :nome"),
@NamedQuery(name = "Layoutsos.findByMedidas", query = "SELECT l FROM Layoutsos l WHERE l.medidas = :medidas")})
public class Layoutsos implements Serializable {
@Transient
private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "idlayoutsos")
private Integer idlayoutsos;
@Column(name = "nome")
private String nome;
@Column(name = "medidas")
private String medidas;
@JoinTable(name = "ordemservico_has_layoutsos", joinColumns = {
@JoinColumn(name = "layoutsos_idlayoutsos", referencedColumnName = "idlayoutsos")}, inverseJoinColumns = {
@JoinColumn(name = "ordemservico_idordemservico", referencedColumnName = "idordemservico")})
@ManyToMany
private List<Ordemservico> ordemservicoList;
public Layoutsos() {
}
public Layoutsos(Integer idlayoutsos) {
this.idlayoutsos = idlayoutsos;
}
public Integer getIdlayoutsos() {
return idlayoutsos;
}
public void setIdlayoutsos(Integer idlayoutsos) {
Integer oldIdlayoutsos = this.idlayoutsos;
this.idlayoutsos = idlayoutsos;
changeSupport.firePropertyChange("idlayoutsos", oldIdlayoutsos, idlayoutsos);
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
String oldNome = this.nome;
this.nome = nome;
changeSupport.firePropertyChange("nome", oldNome, nome);
}
public String getMedidas() {
return medidas;
}
public void setMedidas(String medidas) {
String oldMedidas = this.medidas;
this.medidas = medidas;
changeSupport.firePropertyChange("medidas", oldMedidas, medidas);
}
@XmlTransient
public List<Ordemservico> getOrdemservicoList() {
return ordemservicoList;
}
public void setOrdemservicoList(List<Ordemservico> ordemservicoList) {
this.ordemservicoList = ordemservicoList;
}
@Override
public int hashCode() {
int hash = 0;
hash += (idlayoutsos != null ? idlayoutsos.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Layoutsos)) {
return false;
}
Layoutsos other = (Layoutsos) object;
if ((this.idlayoutsos == null && other.idlayoutsos != null) || (this.idlayoutsos != null && !this.idlayoutsos.equals(other.idlayoutsos))) {
return false;
}
return true;
}
@Override
public String toString() {
return nome ;
}
public void addPropertyChangeListener(PropertyChangeListener listener) {
changeSupport.addPropertyChangeListener(listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
changeSupport.removePropertyChangeListener(listener);
}
}
Aqui é como eu pegos os dados do banco
[code=java]
List dp = new LayoutsosJpaController().findLayoutsosEntities(); // comming from DB
tableModel = new LayoutTableModel(dp);
jTableTodosLayouts.setModel(tableModel); //LeftTable[/code]