Toggle Theme Editor
Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Charcoal

[JSE guide]Tạo hiệu ứng chữ nhấp nháy từng từ trên title

Discussion in 'Bài viết hướng dẫn JSE' started by JackV, 21/5/10.

  1. JackV

    JackV Administrator Staff Member

    Code demo chạy nó sẽ nhấp nháy như thế này
    Mỗi từ và phần trống xuất hiện 0.5s
    PHP:
    import javax.swing.JFrame;

    /**
     *
     * @author <JackV at congdọngava.com>
     */
    public class CongDongJava extends JFrame {

        public 
    CongDongJava() {
            
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            
    setSize(300,30);
            
    setLocationRelativeTo(null);
            new 
    ViewTitleThread();
        }
        
    String[] arrText = new String[]{"Cong""""Dong""""Java"""".""""com","","CongDongJava.com","",""};
        
    int iCount = -1;

        class 
    ViewTitleThread extends Thread {

            public 
    ViewTitleThread() {
                
    start();
            }

            public 
    void run() {
                while (
    true) {
                    try {
                        
    iCount++;
                        if (
    iCount == arrText.length) {
                            
    iCount 0;
                        }
                        
    setTitle(arrText[iCount]);
                        
    sleep(500);
                    } catch (
    InterruptedException ex) {
                    }
                }
            }
        }

        
    /**
         * @param args the command line arguments
         */
        
    public static void main(String[] args) {
            new 
    CongDongJava().setVisible(true);
        }
    }
    Bây giờ chúng ta hiện thực cho nó nháy có chủ đích hơn, vì chúng ta quảng cáo tên miền mà. Thời gian hiện thị sẽ đổi như sau:
    Cong 1s
    Dong 1s
    Java 1s
    . 0.5s
    com 0.5
    CongDongJava.com 2s

    các lần trống là 0.5s

    Bạn thử xem, cố gắng hiện thực sao cho dễ tùy chỉnh khi chúng ta đổi chữ.
     
    quangbeo216 likes this.
  2. tranhuyvc

    tranhuyvc Administrator Staff Member

    Ðề: Demo tạo chữ nhấp nháy từng từ trên title

    Sáng tạo nhỉ, dùng thread tạo chữ nhấp nháp luôn ^_^
     
  3. JackV

    JackV Administrator Staff Member

    Ðề: Demo tạo chữ nhấp nháy từng từ trên title

    Dùng cái timer như bạn đã làm cũng được nhưng tớ không biết nó có cho đổi time trong lúc đang chạy như Thread hay không và cấu trúc nó phúc tạp dùng hơn Thread thì phải.
     
  4. kenzso

    kenzso New Member

    Ðề: Demo tạo chữ nhấp nháy từng từ trên title

    Có cách khác không. Hiệu ứng kiểu này chắc die con CPU quá.
     
  5. kim

    kim Thành viên VIP Staff Member

    Ðề: Tạo hiệu ứng chữ nhấp nháy từng từ trên title

    Chỉ 3 từ thôi "rất sáng tạo"
     
  6. kekedaine

    kekedaine Member

    Ðề: Tạo hiệu ứng chữ nhấp nháy từng từ trên title

    hay quá !!!
     
  7. JackV

    JackV Administrator Staff Member

    Ðề: Demo tạo chữ nhấp nháy từng từ trên title

    Thread được sleep(500); có nghĩa là mỗi giây chỉ nhảy có 2 lần, khi chạy xem cpu có nhảy lên không bạn.
     
  8. pr0t0ss9x

    pr0t0ss9x New Member

    Ðề: Tạo hiệu ứng chữ nhấp nháy từng từ trên title

    quá sáng tạo :">
     
  9. JackV

    JackV Administrator Staff Member

    Ðề: Tạo hiệu ứng chữ nhấp nháy từng từ trên title

    Còn yêu cầu mở rộng là
    bạn nào có khả năng hiện thực giao lưu nhé.
     
  10. Gacon

    Gacon New Member

    Ðề: Tạo hiệu ứng chữ nhấp nháy từng từ trên title

    good Job !
     
  11. sayuri0903

    sayuri0903 Member

    Ðề: Tạo hiệu ứng chữ nhấp nháy từng từ trên title

    Mình mới gà mờ học java, "thực hiện giao lưu" vs JackV thế này nhé :D

    PHP:
    //Thêm một mảng chứa thời gian
    int[] time = new int[]{1000,500,1000,500,1000,500,500,500,500,500,2000,500,500};
    ...
    //Sữa lại cái method sleep nữa :D
    sleep(time[iCount]);
    Đúng yêu cầu chưa :x
     
  12. nguyenson197

    nguyenson197 Member

    Ðề: Tạo hiệu ứng chữ nhấp nháy từng từ trên title

    Việc tạo lớp extends Thread có khác gì với việc không tạo và sử dụng nó luôn như đoạn mã của mình không.

    PHP:
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.swing.JFrame;

    /**
     *
     * @author NguyenVanSon
     */
    public class MyMarque extends JFrame{
        public 
    MyMarque(){
            
    this.setSize(2001);
            
    this.setVisible(true);
            for (
    int i 0;; i++) {
                
    this.setTitle(String.valueOf(i));
                try {
                    
    Thread.sleep(1000);
                } catch (
    InterruptedException ex) {
                    
    Logger.getLogger(MyMarque.class.getName()).log(Level.SEVEREnullex);
                }
            }
            
        }
        public static 
    void main(String[]args){
            new 
    MyMarque();
        }
    }
     
  13. duythinht

    duythinht New Member

    Ðề: Tạo hiệu ứng chữ nhấp nháy từng từ trên title

    Thread sẽ bị chiếm dụng và bạn sẽ không làm được gì hết cho đến khi thoát ra khỏi vòng lặp. Not responding detectation :-@
     
  14. nguyenson197

    nguyenson197 Member

    Ðề: Tạo hiệu ứng chữ nhấp nháy từng từ trên title

    Vậy là sao. Bạn nói rõ chút được không.
     
  15. nguyenson197

    nguyenson197 Member

    Ðề: Tạo hiệu ứng chữ nhấp nháy từng từ trên title

    Uk. Mình hiểu rồi. Thanks.
    Tạo cái ra 1 luồng để nó xử lý cái chữ nhấp nháy đó, còn lại mình muốn chạy gì thì chạy. Đoạn mã mình viết chỉ dùng cho mỗi tiêu đề nhấp nháy thôi. :D
     
  16. hongtamtk

    hongtamtk Member

    Ðề: Tạo hiệu ứng chữ nhấp nháy từng từ trên title

    Trong Java thì mình mới học, được biết java chạy đa nhân, chư như VB 6 là chết rồi, khi nào thực hiện xong vòng lặp đó mới. thực hiện típ. Tóm lại chương trình của bạn chỉ có chức năng làm nháy tiêu đề. còn con chức nawg nào khác :D
     
  17. ThanhNhan

    ThanhNhan Active Member

    Ðề: Tạo hiệu ứng chữ nhấp nháy từng từ trên title

    cái đề là
    vậy phải có gì nữa ;))
     
  18. devtttq

    devtttq New Member

    nó cứ chạy liên tục như thế liệu có treo máy không cpu đạt tới giới hạn không và mình thấy while(true) là vô hạn rồi.
     
  19. JackV

    JackV Administrator Staff Member

    Không có sleep
    > Thread.sleep(1000)
    thì cpu sẽ đạt mức cao nhưng k đến nỗi treo máy vì máy ảo sử dụng tài nguyên có hạn mà thôi.
     
  20. devtttq

    devtttq New Member

    Khi biên dịch ra chương trình exe để chạy, cũng không treo sao anh jack
     

Chia sẻ trang này

Loading...