Boa Tarde senhores, não estou conseguindo popular as informações em um jlist.
Tenho uma classe que extende de AbstractListModel nome da classe é DepositoListModel, e tenho outra a da gui, que extende a classe DepositoListModel
e passa a variavel de referencia da classe DepositoListModel para o jlist.setModel(referencia);
porém não é populada a informação. Não sei o que estou fazendo de errado alguém teria como ajudar?
segue as classes.
public class ControleDeposito extends DepositoListModel implements
ListenerDeposito {
private Deposito deposito;
private DepositoListModel model;
// private DepositoListModel depositoListModel;
private JFrame frame;
/** Creates new form ControleDeposito */
public ControleDeposito() {
frame = new JFrame();
initComponents();
frame.setLocationRelativeTo(null);
model = new DepositoListModel();
jList1.setModel(model);
//this.depositoListModel = new DepositoListModel();
// jList1.setModel(depositoListModel);
}
/**
* 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.
*/
// <editor-fold defaultstate="collapsed" desc="Generated
// Code">//GEN-BEGIN:initComponents
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jPanel2 = new javax.swing.JPanel();
jLabel3 = new javax.swing.JLabel();
jTextField3 = new javax.swing.JTextField();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
jList1 = new javax.swing.JList(model);
jLabel6 = new javax.swing.JLabel();
frame
.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
frame.setTitle("Controle de depósito");
frame.setResizable(false);
jPanel1.setBorder(javax.swing.BorderFactory
.createTitledBorder("Dados do depósito"));
jLabel1.setText("Qtdade máxima :");
jLabel2.setText("Qtdade crítica :");
jButton1.setText("Criar depósito");
// jButton1.addActionListener(this);
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()
.addGroup(
jPanel1Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel2)
.addComponent(jLabel1))
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(
jPanel1Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(
jTextField1,
javax.swing.GroupLayout.PREFERRED_SIZE,
121,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(
jTextField2,
javax.swing.GroupLayout.PREFERRED_SIZE,
121,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18).addComponent(
jButton1).addContainerGap(61,
Short.MAX_VALUE)));
jPanel1Layout
.setVerticalGroup(jPanel1Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
jPanel1Layout
.createSequentialGroup()
.addGroup(
jPanel1Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
jPanel1Layout
.createSequentialGroup()
.addGroup(
jPanel1Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(
jLabel1)
.addComponent(
jTextField1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(
jPanel1Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(
jLabel2)
.addComponent(
jTextField2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(
jPanel1Layout
.createSequentialGroup()
.addContainerGap()
.addComponent(
jButton1)))
.addContainerGap(
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)));
jPanel2
.setBorder(javax.swing.BorderFactory
.createTitledBorder("Fluxo"));
jLabel3.setText("Qtdade :");
jButton2.setText("Add");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
int qtdade = Integer.parseInt(jTextField3.getText());
System.out.println("retirar" + qtdade);
deposito.retirar(qtdade);
}
});
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
private void jButton1ActionPerformed(ActionEvent evt) {
// TODO Auto-generated method stub
System.out.println("criar Deposito");
int qtdadeCritica = 0, qdadeMax = 0;
qtdadeCritica = Integer.parseInt(jTextField2.getText());
qdadeMax = Integer.parseInt(jTextField1.getText());
deposito = new Deposito(qtdadeCritica, qdadeMax);
}
});
jButton3.setText("Retirar");
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(
jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout
.setHorizontalGroup(jPanel2Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
jPanel2Layout
.createSequentialGroup()
.addGroup(
jPanel2Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
jPanel2Layout
.createSequentialGroup()
.addComponent(
jLabel3)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
jTextField3,
javax.swing.GroupLayout.PREFERRED_SIZE,
121,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(
jPanel2Layout
.createSequentialGroup()
.addGap(
22,
22,
22)
.addComponent(
jButton2)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
jButton3)))
.addContainerGap(
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)));
jPanel2Layout
.setVerticalGroup(jPanel2Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
jPanel2Layout
.createSequentialGroup()
.addGroup(
jPanel2Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(
jTextField3,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(
jPanel2Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton3)
.addComponent(jButton2))
.addContainerGap(96, Short.MAX_VALUE)));
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Log"));
jLabel4.setText("Qtdade atual :");
jLabel5.setFont(new java.awt.Font("Tahoma", 1, 11));
jLabel5.setText("0");
jScrollPane1.setViewportView(jList1);
jLabel6.setText("Fluxo :");
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(
jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout
.setHorizontalGroup(jPanel3Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
jPanel3Layout
.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel5).addContainerGap(
114, Short.MAX_VALUE))
.addComponent(jScrollPane1,
javax.swing.GroupLayout.DEFAULT_SIZE, 197,
Short.MAX_VALUE).addGroup(
jPanel3Layout.createSequentialGroup()
.addComponent(jLabel6)
.addContainerGap()));
jPanel3Layout
.setVerticalGroup(jPanel3Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
jPanel3Layout
.createSequentialGroup()
.addGroup(
jPanel3Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jLabel5))
.addGap(5, 5, 5)
.addComponent(jLabel6)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
jScrollPane1,
javax.swing.GroupLayout.DEFAULT_SIZE,
106, Short.MAX_VALUE)));
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(frame
.getContentPane());
frame.getContentPane().setLayout(layout);
layout
.setHorizontalGroup(layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout
.createSequentialGroup()
.addContainerGap()
.addGroup(
layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(
jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addGroup(
layout
.createSequentialGroup()
.addComponent(
jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(
jPanel3,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)))
.addContainerGap()));
layout
.setVerticalGroup(layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout
.createSequentialGroup()
.addContainerGap()
.addComponent(
jPanel1,
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.LEADING,
false)
.addComponent(
jPanel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(
jPanel3,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addContainerGap(
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)));
frame.pack();
}// </editor-fold>//GEN-END:initComponents
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton2ActionPerformed
// this.'.setTexto(jTextField3.getText());
deposito.registroListener(this);
//add(jTextField3.getText());
System.out.println("adiciona");
int qtdade = Integer.parseInt(jTextField3.getText());
System.out.println(qtdade);
deposito.add(qtdade);
}// GEN-LAST:event_jButton2ActionPerformed
/**
* @param args
* the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ControleDeposito().frame.setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
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.JLabel jLabel6;
private javax.swing.JList jList1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
// End of variables declaration//GEN-END:variables
@Override
public void qtdadeAdicionado(int posicao) {
// TODO Auto-generated method stub
System.out.println("quantidade adicionado:" + posicao);
add(posicao);
}
@Override
public void qtdadeAtualizado(int valor) {
// TODO Auto-generated method stub
jLabel5.setText(valor+"");
}
@Override
public void qtdateRetirada(int posicao) {
// TODO Auto-generated method stub
}
@Override
public void alcancouQtdadeCritica() {
// TODO Auto-generated method stub
}
}
public class DepositoListModel extends AbstractListModel {
private ArrayList<Integer> listaValores = new ArrayList<Integer>();
public int getSize() {
return listaValores.size();
}
public void add(int texto) {
listaValores.add(texto);
System.out.println("adicionado no DefaultListModel:" + texto);
fireContentsChanged(this, listaValores.size(), listaValores.size());
}
@Override
public Object getElementAt(int index) {
// TODO Auto-generated method stub
return listaValores.get(index);
}
}