Java GUI에서 진행률 표시 줄에 진행률을 표시하려고하지만 프로세스가 완료 될 때까지 진행률이 표시되지 않습니다. Java에서 진행률 표시 줄을 사용하는 방법?
이
내 시도입니다 : 내가하고 싶은 것은이 5000 개 기록 전 과정을 보여주기 위해 진행 막대를 사용하려면 다음,하지만 그것이 작동하지 않는 데이터베이스에서 문자열 기록에 중지 단어를 제거입니다public void selectTweet(){
Connection conn = null;
Statement stmt = null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = Drive
rManager.getConnection(DB_URL, USER, PASS);
stmt = conn.createStatement();
//menghitung jumlah query pada table tweet
String sql = "SELECT COUNT(*) FROM tweet";
ResultSet rs=stmt.executeQuery(sql);
int row = 0;
while(rs.next()){
row = rs.getInt("COUNT(*)");
}
int initial_number = Integer.parseInt(jTextField4.getText());
for(int i=initial_number;i<row;i++){
System.out.println("tweet ke-"+i);
String sql1 = "SELECT tweet,date,location FROM tweet WHERE tweet_id='"+i+"'";
ResultSet rs2 = stmt.executeQuery(sql1);
while(rs2.next()){
tweet = rs2.getString("tweet");
date = rs2.getString("date");
location = rs2.getString("location");
}
System.out.println("Tweet: " + tweet);
removeStopWords(tweet, i, date, location);
final int currentValue = i;
try{
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
jProgressBar1.setValue(currentValue);
}
});
java.lang.Thread.sleep(100);
}catch (InterruptedException e) {
//JOptionPane.showMessageDialog(frame, e.getMessage());
}
}
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}finally{
//finally block used to close resources
try{
if(stmt!=null)
conn.close();
}catch(SQLException se){}// do nothing
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}//end finally try
}//end try
}
. 내가 놓친 것?, 제발 도와주세요.
진행 막대가 공공 무효 실행에() {} –
@MuhammadHaryadiFutra : 예, 지금 당신이 그것을 추가 한 것이다. 사실, 당신은 메소드 메쏘드 전체를'Runnable' ('ProgressBar'를 가진 부분조차도)에두고 실행시켜야합니다. – Dici
나는 그것을하는 법을 모른다, 나는 찔 렸다 –