[問題] applet的問題

看板java作者 (GGsov)時間17年前 (2008/12/16 15:51), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
import java.applet.Applet; import javax.swing.JApplet; import java.io.*; public class test extends Applet{ static int IPindex= -1; public void init() { try { String cmd = "netstat -n"; //字串 windows的指令 StringBuilder mystring=new StringBuilder(); Process child = Runtime.getRuntime().exec(cmd); // 獲得輸出 InputStream child_in = child.getInputStream(); int c; while ((c = child_in.read()) != -1){ mystring=mystring.append((char)c); //把結果讀進mystring這個字串 } IPindex= mystring.indexOf("140.116.250.3"); //若有該字串 則回傳非-1 若無則回傳-1 test(); child_in.close(); }catch (IOException e) { System.err.println(e); } } public void start(){ } public static Integer test(){ return IPindex; } } 當使用者同意網頁內容後他會彈出個視窗來告訴使用者是否有連線到該IP 但是有個bug 他顯示的是上一次的連線情形 所以在連線與否轉換時就會出現錯誤 也就是說現在是連線狀況 然後我先把連線關掉 再去重新整理網頁 他會顯示"連線" 在重新整理一次又變回未連線了 Applet會按照順序來執行init(),start(),stop(),destroy() 我把整段code放在init跟start下都是同樣的結果 call test這個函式僅是要讓他有return的動作 網頁部分<applet>..</applet> 寫在<script>...</script> 之前 兩個都是寫在<head>...</head> 不曉得是哪邊邏輯有錯誤導致這種bug產生 感謝您的指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.174.33.58

12/16 15:58, , 1F
為甚麼要 static
12/16 15:58, 1F

12/16 16:08, , 2F
一針見血.........
12/16 16:08, 2F

12/16 16:10, , 3F
本來static是為了符合main 後來改掉後沒想到會是這個有問題
12/16 16:10, 3F

12/16 16:12, , 4F
一直以為是執行順序的關係 沒想到是這個問題 很抱歉又占版面
12/16 16:12, 4F
文章代碼(AID): #19HrtvNw (java)