アプリケーションの開始場所からメイン クラス (基本的には netbeans フォームです。ドラッグ アンド ドロップ) と、関数が存在する別のクラス (クラス 2 と呼びます) があります。まず、メイン メソッドとそのメソッドから class2 の関数を呼び出します。カウンターをインクリメントするwhileループがあります。そのカウンターに応じて、メインクラスの関数を呼び出し、テキストフィールドにカウンターを表示しようとし、中間でプログレスバーを表示しようとしますが、印刷ステートメントを正しく表示しますが、機能しません(カウンタ)。
プログレスバーの更新もテキストフィールドの更新もしていないため、追加しているコードによって問題が発生しています。なぜこれが起こっているのか教えてください
コードを編集しましたが、まだ何も表示されません:(
public class NewClass
{
public static int counter = 0;
public NewJFrame p = new NewJFrame();
public void packet()
{
try
{
while (true)
{
//some code ,right now which i have omitted
counter = counter + 1;
counter2(counter);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void counter2(int counter)
{
counter3();
}
public void counter3()
{
p.progress(counter);
}
}
ここに、上記の他のclass()コードにある関数を呼び出すメインメソッドがあります)
public class NewJFrame extends javax.swing.JFrame
{
/** Creates new form NewJFrame */
public NewJFrame()
{
initComponents();
}
@SuppressWarnings("unchecked")
public void progress(int y)
{
jProgressBar1.setIndeterminate(true);
jTextField1.setText(y+"packets processed");
System.out.println(y);
}
private void jButton1MouseClicked(java.awt.event.MouseEvent evt)
{
NewClass m=new NewClass();
m.packet();
}
/**
* @param args the command line arguments
*/
public static void main(String args[])
{
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch (Exception e)
{
e.printStackTrace();
}
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new NewJFrame().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JProgressBar jProgressBar1;
private javax.swing.JTextField jTextField1;
// End of variables declaration
}