01/10/2018, 00:49

Vấn đề giao diện trong java Swing

Em có một đoạn code setText cho Label,em muốn trên giao diện hiển thị từ 1->10:

         for(int i=0;i<10;i++){
                jLabel.setText(i+"");
                try {
                    Thread.sleep(500);
                    System.out.println(i);
		repaint();
                } catch (InterruptedException ex) {
                    Logger.getLogger(setGUI.class.getName()).log(Level.SEVERE, null, ex);
                }
            }

Cho em hỏi là tại sao khi vòng for chạy xong thì cái Label hiển thị luôn là 10 trong khi ý đồ đoạn code của em là cho cái Label đó hiển thị từ 1->10. Không biết đoạn code của em có sai ở đâu không. Mong các ae chỉ giáo.

Dark.Hades viết 02:53 ngày 01/10/2018

Bạn phải lưu lại biến chứ, set text thì java sẽ hiểu là làm mới text, bạn nên lưu các text qua mỗi lần thay đổi vào temp, set text = set temp hoặc đơn giản hơn …

Hidan viết 02:54 ngày 01/10/2018

chạy tốt mà? mh cop vào thì nó chạy từ 0 đến 9

Bài liên quan
0