Olá galera, esse é meu primeiro post da comunidade e queria antes de tudo parabenizar VCs pelo site, que é “muito bom”, varios tutoriais/artigos legais, forum bem organizado… blz…
Bem, partindo para a minha dúvida:
Estou com um pequeno problema, estava criando um programas pra listar as maquinas da rede e a medida que fossem verificadas seria pra colocar elas numa lista… mas a lista só aparece despois que o evento/metodo de Listar acaba !
Depois de horas batendo cabeça, tentando descobrir o problema (que pensava ser de lógica) percebi que era com a “classe” Swing, pois usei um componente da AWT e funcionou perfeitamete.
Abaixo fiz um exemplo das duas funcionando em “paralelo” na AWT vai aparecendo , mas na swing só no final…
Como posso contornar esse problema ?!
public class TesteSwing extends javax.swing.JFrame {
/** Creates new form TesteSwing */
public TesteSwing() {
initComponents();
}
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
jLabel1 = new javax.swing.JLabel();
textArea1 = new java.awt.TextArea();
jLabel2 = new javax.swing.JLabel();
jProgressBar1 = new javax.swing.JProgressBar();
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jScrollPane1.setViewportView(jTextArea1);
jLabel1.setText("Swing:");
jLabel2.setText("AWT");
jButton1.setText("Testar");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
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(jProgressBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 356, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel2)
.addComponent(textArea1, javax.swing.GroupLayout.DEFAULT_SIZE, 180, Short.MAX_VALUE)))
.addComponent(jButton1, javax.swing.GroupLayout.Alignment.TRAILING))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(6, 6, 6)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jLabel2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(textArea1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 149, Short.MAX_VALUE))
.addGap(14, 14, 14)
.addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
for (int i = 0; i <= 100; i += 5) {
Thread.sleep(50);
textArea1.append("linha " + i + "\n");
jTextArea1.append("linha " + i + "\n");
jProgressBar1.setValue(i);
}
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TesteSwing().setVisible(true);
}
});
}
// Declaração de variáveis - não modifique
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JProgressBar jProgressBar1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
private java.awt.TextArea textArea1;
// Fim da declaração de variáveis
}
Bem, como estou "iniciando" em JAVA , queria saber qual a melhor lib para a interface gráfica, testei a Swing e a SWT(eclipse) . e gostei mais da SWT, mas como gosto mais do Editor Visual do NetBeans (muito mais prático) … fico meio sem saber …
Ou se tiver alguma forma de usar a SWT como a Swing no EditorVisual do Netbeans, por favor me digam como ?!?
vlwwwww !!