Bom dia galera, estava tentando fazer com que os dados do meu banco de dados fossem listados numa JList, mas não to conseguindo fazer eles aparecerem.
package br.ufal.ic.falibras.ihc.cadastroSemantico;
import br.ufal.ic.falibras.common.metamodel.Palavra;
import br.ufal.ic.falibras.grammar.IMorfoSintaticController;
import br.ufal.ic.falibras.grammar.generator.IGrammarGenerator;
import br.ufal.ic.falibras.grammareditor.ErroGrammarEditorException;
import br.ufal.ic.falibras.grammareditor.IGrammarEditor;
import br.ufal.ic.falibras.preprocessor.ITextPreprocessor;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.swing.AbstractListModel;
import javax.swing.JOptionPane;
public class SemanticoPanel extends javax.swing.JPanel{
//CONSTANTES
final private String separadorIdNomePalavra = "|";
private List<String> nomesPalavrasFixas;
//AUXILIARES
private IGrammarEditor contGrammarEditor;
private IGrammarGenerator contGrammarGenerator;
private IMorfoSintaticController contAnalisadorMorfoSintatico;
//ATRIBUTOS
private boolean novoSentido;
private List<Palavra> palavrasExistentes;
private Palavra palavraAtual;
//PRIMEIRO CONSTRUTOR
public SemanticoPanel(IGrammarEditor contGrammarEditor, IGrammarGenerator contGrammarGenerator, IMorfoSintaticController contAnalisadorMorfoSintatico){
this.contGrammarEditor = contGrammarEditor;
this.contGrammarGenerator = contGrammarGenerator;
this.contAnalisadorMorfoSintatico = contAnalisadorMorfoSintatico;
this.inicializarPalavrasExistentes("");
}
//SEGUNDO CONSTRUTOR
public SemanticoPanel() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
buttonGroup1 = new javax.swing.ButtonGroup();
DarSentido = new javax.swing.JToggleButton();
jToggleButton10 = new javax.swing.JToggleButton();
jScrollPane1 = new javax.swing.JScrollPane();
PalavrasCadastradas = new javax.swing.JList();
jLabel1 = new javax.swing.JLabel();
jsPalavra = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jsRadical = new javax.swing.JTextField();
SentidoPosterior = new javax.swing.JToggleButton();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jTextField5 = new javax.swing.JTextField();
jRadioButton1 = new javax.swing.JRadioButton();
jRadioButton2 = new javax.swing.JRadioButton();
SentidoAnterior = new javax.swing.JToggleButton();
SentidoDefault = new javax.swing.JToggleButton();
jPanel1 = new javax.swing.JPanel();
jScrollPane6 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
DarSentido.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imgs/OK.png"))); // NOI18N
DarSentido.setText("Dar Sentido");
DarSentido.setMaximumSize(new java.awt.Dimension(111, 33));
DarSentido.setMinimumSize(new java.awt.Dimension(111, 33));
DarSentido.setPreferredSize(new java.awt.Dimension(111, 33));
jToggleButton10.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imgs/Cancelar.png"))); // NOI18N
jToggleButton10.setText("Limpar Campos");
jToggleButton10.setMaximumSize(new java.awt.Dimension(111, 33));
jToggleButton10.setMinimumSize(new java.awt.Dimension(111, 33));
jToggleButton10.setPreferredSize(new java.awt.Dimension(111, 33));
PalavrasCadastradas.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
PalavrasCadastradasValueChanged(evt);
}
});
PalavrasCadastradas.addAncestorListener(new javax.swing.event.AncestorListener() {
public void ancestorMoved(javax.swing.event.AncestorEvent evt) {
}
public void ancestorAdded(javax.swing.event.AncestorEvent evt) {
PalavrasCadastradasAncestorAdded(evt);
}
public void ancestorRemoved(javax.swing.event.AncestorEvent evt) {
}
});
jScrollPane1.setViewportView(PalavrasCadastradas);
jLabel1.setText("Palavra:");
jLabel2.setText("Radical:");
SentidoPosterior.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imgs/adicionar.png"))); // NOI18N
SentidoPosterior.setText("Adicionar Significado Posterior");
SentidoPosterior.setMaximumSize(new java.awt.Dimension(111, 33));
SentidoPosterior.setMinimumSize(new java.awt.Dimension(111, 33));
SentidoPosterior.setPreferredSize(new java.awt.Dimension(111, 33));
SentidoPosterior.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
SentidoPosteriorActionPerformed(evt);
}
});
jLabel7.setText("Palavras Cadastradas:");
jLabel8.setText("Filtro:");
buttonGroup1.add(jRadioButton1);
jRadioButton1.setText("Palavra");
buttonGroup1.add(jRadioButton2);
jRadioButton2.setText("Frase Exemplo");
SentidoAnterior.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imgs/remover.png"))); // NOI18N
SentidoAnterior.setText("Adicionar Significado Anterior");
SentidoAnterior.setMaximumSize(new java.awt.Dimension(111, 33));
SentidoAnterior.setMinimumSize(new java.awt.Dimension(111, 33));
SentidoAnterior.setPreferredSize(new java.awt.Dimension(111, 33));
SentidoAnterior.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
SentidoAnteriorActionPerformed(evt);
}
});
SentidoDefault.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imgs/OK.png"))); // NOI18N
SentidoDefault.setText("Adicionar Significado Padrão");
SentidoDefault.setToolTipText("O sentido padrão terá 100% de sentido");
SentidoDefault.setMaximumSize(new java.awt.Dimension(111, 33));
SentidoDefault.setMinimumSize(new java.awt.Dimension(111, 33));
SentidoDefault.setPreferredSize(new java.awt.Dimension(111, 33));
SentidoDefault.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
SentidoDefaultActionPerformed(evt);
}
});
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Lista de Palavras e Sentidos"));
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},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Palavras", "Significados", "Posição", "Porcentagem Acrescentada"
}
));
jTable1.setOpaque(false);
jScrollPane6.setViewportView(jTable1);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 647, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel7)
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jsPalavra))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jsRadical, javax.swing.GroupLayout.PREFERRED_SIZE, 638, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(SentidoDefault, javax.swing.GroupLayout.PREFERRED_SIZE, 214, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(SentidoAnterior, javax.swing.GroupLayout.PREFERRED_SIZE, 228, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(SentidoPosterior, javax.swing.GroupLayout.PREFERRED_SIZE, 232, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel8)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 197, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jRadioButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jRadioButton2))
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(DarSentido, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jToggleButton10, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel8)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jRadioButton1)
.addComponent(jRadioButton2))
.addGap(18, 18, 18)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 11, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jsPalavra, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jsRadical, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(SentidoAnterior, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(SentidoPosterior, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(SentidoDefault, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(DarSentido, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jToggleButton10, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
}// </editor-fold>
private void SentidoDefaultActionPerformed(java.awt.event.ActionEvent evt) {
new SentidoDefaultPanel().setVisible(true);
}
private void SentidoAnteriorActionPerformed(java.awt.event.ActionEvent evt) {
new SentidoAnteriorPanel().setVisible(true);
}
private void SentidoPosteriorActionPerformed(java.awt.event.ActionEvent evt) {
new SentidoPosteriorPanel().setVisible(true);
}
private void inicializarPalavrasExistentes(String filtro) {
try {
this.palavrasExistentes = this.contGrammarEditor.obterTodasPalavras(filtro);
this.PalavrasCadastradas.setModel(new AbstractListModel() {
String[] strings = obterDadosPalavras(palavrasExistentes);
public int getSize() {
return strings.length;
}
public Object getElementAt(int i) {
return strings[i];
}
});
} catch (ErroGrammarEditorException ex) {
JOptionPane.showMessageDialog(null, "Erro na inicialização da janela!", "Mensagem Informativa", JOptionPane.PLAIN_MESSAGE, new javax.swing.ImageIcon(getClass().getResource("/imgs/processar.png")));
}
}
private String[] obterDadosPalavras(List<Palavra> palavrasExistentes) {
List<String> dadosPalavras = new ArrayList<String>();
for (Iterator<Palavra> it = palavrasExistentes.iterator(); it.hasNext();) {
Palavra palavra = it.next();
if(palavra.getNome().equals(ITextPreprocessor.flagNumeroPalavra)){
dadosPalavras.add(Integer.toString(palavra.getId()) + this.separadorIdNomePalavra + palavra.obterSignificadoMaisProvavel(palavra.obterCategoriaMaisProvavel()).getNome());
}
else{
dadosPalavras.add(Integer.toString(palavra.getId()) + this.separadorIdNomePalavra + palavra.getNome());
}
}
String[] out = new String[dadosPalavras.size()];
for (int i = 0; i < out.length; i++) {
out[i] = dadosPalavras.get(i);
}
return out;
}
private void PalavrasCadastradasAncestorAdded(javax.swing.event.AncestorEvent evt) {
}
private void PalavrasCadastradasValueChanged(javax.swing.event.ListSelectionEvent evt) {
if(!this.PalavrasCadastradas.isSelectionEmpty()){
//HABILITA OS BOTÕES
this.SentidoDefault.setEnabled(true);
this.SentidoAnterior.setEnabled(true);
this.SentidoPosterior.setEnabled(true);
//ALTERA NOME DO BOTÃO
this.DarSentido.setText("Alterar Sentido");
this.novoSentido = false;
//OBTER DADOS DA PALAVRA SELECIONADA
int indicePalavraSelecionada = this.PalavrasCadastradas.getSelectedIndex();
this.palavraAtual = this.palavrasExistentes.get(indicePalavraSelecionada);
//ATUALIZAR CAMPOS GERAIS
this.jsPalavra.setText(this.palavraAtual.getNome());
this.jsRadical.setText(this.palavraAtual.getRadical());
//ATUALIZAR CAMPOS CATEGORIAS DA REGRA
//List<Significado> SignificadoPalavra = palavraAtual.getSignificados();
}
}
// Variables declaration - do not modify
private javax.swing.JToggleButton DarSentido;
private javax.swing.JList PalavrasCadastradas;
private javax.swing.JToggleButton SentidoAnterior;
private javax.swing.JToggleButton SentidoDefault;
private javax.swing.JToggleButton SentidoPosterior;
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JPanel jPanel1;
private javax.swing.JRadioButton jRadioButton1;
private javax.swing.JRadioButton jRadioButton2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane6;
private javax.swing.JTable jTable1;
private javax.swing.JTextField jTextField5;
private javax.swing.JToggleButton jToggleButton10;
private javax.swing.JTextField jsPalavra;
private javax.swing.JTextField jsRadical;
// End of variables declaration
}
Estou usando o NetBeans para criar as interfaces gráficas.
aqui esta uma imagem mostra o campo que deveria estar preenchido:
