User Tag List

+ Trả lời chủ đề
Hiện kết quả từ 1 tới 6 của 6

Chủ đề: Lập trình đồ họa trong Java: Hello World

  1. #1
    .:: Grumpy svBKer ::. Avatar của 1973
    Tham gia ngày
    Mar 2010
    Bài gửi
    3.793

    Mặc định Lập trình đồ họa trong Java: Hello World

    Mới làm quen với Java những đã bị táng ngay 1 bài lập trình GUI bằng Java, may mà bài này cũng đơn giản nên mình đã qua khỏi

    Chưa từng sử dụng IDE để tạo project như Netbeans hay Eclipse bao giờ nên bỡ ngỡ quá, chỉ quen gõ code bằng editor và biên dịch bằng dòng lệnh.

    Yêu cầu bài này là tạo 1 cửa sổ Hello World cho phép chọn ngôn ngữ khác nhau cho chữ Hello World. Ý tưởng của mình đơn giản là sửa dụng thư viện AWT (Abstract Window Tookit) để tạo Frame rồi chèn các thành phần vào (gọi là container thì phải) vào. Sử dụng giao tiếp ItemListener để xử lý sự kiện click chọn list.

    Đây là code của mình:

    PHP Code:
    import java.awt.*;
    import java.awt.event.*;
    class 
    HelloWorld extends Frame implements ItemListener
    {
        
    Label labLang = new Label("Language:");
        
    Label labSay = new Label("Say:");
        
    TextField resultText = new TextField(10);
        
    Choice langChoice = new Choice();
        
    Panel panel1 = new Panel();
        
    Panel panel2 = new Panel();

        
    //Khoi tao
        
    int n 2//so lua chon
        
    String langList[] = new String[n]; //danh sach ngon ngu
        
    String resultList[] = new String[n]; //danh sach ket qua
        
        
    public HelloWorld(String title)
        {
            
    super(title);

            
    //khoi tao danh sach ngon ngu
            
    langList[0] = "English";
            
    langList[1] = "VietNam";

            
    //khoi tao danh sach ket qua tuong ung
            
    resultList[0] = "Hello World";
            
    resultList[1] = "Xin chao";

            for (
    int i=0i<ni++)
                
    langChoice.addItem(langList[i]);
            
    langChoice.select(0);
            
    resultText.setText(resultList[0]);
            
    langChoice.setSize(105);

            
    setLayout(new BorderLayout());
            
    langChoice.addItemListener(this);
            
            
    FlowLayout grid = new FlowLayout(FlowLayout.CENTER);
            
    panel1.setLayout(grid);
            
    panel2.setLayout(grid);
            
    panel1.add(labLang);
            
    panel1.add(langChoice);
            
    panel2.add(labSay);
            
    panel2.add(resultText);
            
    add(panel1BorderLayout.NORTH);
            
    add(panel2BorderLayout.CENTER);
            
    //xu ly su kien dong cua so
            
    addWindowListener(
                    new 
    WindowAdapter()
                    {
                        public 
    void windowClosing(WindowEvent e)
                        {
                            
    System.exit(0);
                        }
                    });


        }

        public 
    void itemStateChanged(ItemEvent e)
        {
            
    int choice langChoice.getSelectedIndex();
            
    resultText.setText(resultList[choice]);
        }

        public static 
    void main(String args[])
        {
            
    HelloWorld t = new HelloWorld("Multi language Hello World");
            
    t.setBounds(200200350200);
            
    t.setVisible(true);
        }

    Mình không gửi project vì mình làm project cũng buồn cười lắm, mình tạo project rồi copy code ở trên vào thôi

    Được biết AWT là công nghệ cũ rồi, bây giờ người ta sử dụng thư viện swing tiện dụng hơn và đẹp hơn. Cái này sẽ tìm hiểu dần dần

    Code và bài viết có thể còn nhiều sai sót, mong các bạn góp ý thêm
    Contact me:
    Email: sangnd [at] svBK.vn
    Personal website: My Blog | Chat với người lạ
    Facebook Page của Bách Khoa Forum: http://www.facebook.com/svbk.vn

  2. Tớ cảm ơn 1973 đã chia sẻ.


  3. #2
    svBK's Newbie
    Tham gia ngày
    May 2012
    Bài gửi
    21

    Mặc định Re: Lập trình đồ họa trong Java: Hello World

    Mình thì dùng tool kéo thả trong NetBeans cho nhanh , gọn mà trông cũng đẹp ta

  4. #3
    .:: Grumpy svBKer ::. Avatar của 1973
    Tham gia ngày
    Mar 2010
    Bài gửi
    3.793

    Mặc định Re: Lập trình đồ họa trong Java: Hello World

    Tớ không biết kéo thả trong NetBeans như thế nào

  5. #4
    svBK's Newbie
    Tham gia ngày
    Apr 2012
    Bài gửi
    5

    Mặc định Re: Lập trình đồ họa trong Java: Hello World

    t biết 1 bộ video về java Swing, ai cần thì pm, cũng khá là hay. nhưng trc khi học đồ họa thì nên chắc chắc về core java đã.

  6. #5
    svBK's Newbie
    Tham gia ngày
    May 2012
    Bài gửi
    21

    Mặc định Re: Lập trình đồ họa trong Java: Hello World

    Quote Nguyên văn bởi 1973 Xem bài viết
    Tớ không biết kéo thả trong NetBeans như thế nào
    Lúc đầu thì cứ code tay cho quen c ah . Vừa hiểu được cơ chế tạo ra giao diện vừa hiểu được cách nó xử lí các component .
    Còn gấp quá thì mới đốt cháy giai đoạn , nhảy vào kéo thả luôn thôi

  7. #6
    Chia sẻ Tri thức Avatar của Francisco
    Tham gia ngày
    Sep 2010
    Bài gửi
    90

    Mặc định Re: Lập trình đồ họa trong Java: Hello World

    Code của tớ hơi loằng ngoằng, muốn thêm cái âm thanh cho pro nhưng chưa kịp làm:
    PHP Code:
    import java.awt.*;
    import java.awt.event.ItemEvent;
    import java.awt.event.ItemListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    public abstract class 
    HelloWorld extends Panel implements ItemListener{
        private 
    Choice choice=new Choice();
        private 
    TextField say=new TextField(15);
             private 
    void dosay1()
            {
                
    getSay().setText("Hello!");
                
    //play music "hello"
            
    }
             private 
    void dosay2()
            {
                
    getSay().setText("Xin chào!");
                
    //play music "Xin chào"
            
    }
            private 
    void dosay3()
            {
                
    getSay().setText("привет!");
                
    //play music "привет"
            
    }
        public 
    HelloWorld()
        {
            
    add(new Label("Language"));
            
    Component add add(choice);
            
    choice.addItemListener(this);
            
    choice.addItem("English");
            
    choice.addItem("Việt Nam");
            
    choice.addItem("Russia");  
            
    add(new Label("Say"));
            
    add(say);
            
        }
        @
    Override
        
    public void itemStateChanged(ItemEvent e)
        {
            
    Choice src = (Choice)e.getSource();
            
    //System.out.println("Ngon ngu vua chon : "+src.getSelectedItem());
            
    switch (src.getSelectedItem()) {
                case 
    "English":
                    
    dosay1();
                    break;
                case 
    "Việt Nam":
                    
    dosay2();
                    break;
                case 
    "Russia":
                    
    dosay3();
                    break;
            }
        } 
        public static 
    void main(String[] args) {
            
    Frame frame=new Frame("Multi Hello World!");
            
    //Label language=new Label("Language");
            //Label say=new Label("Say");
            
    HelloWorld choice=new HelloWorld() {private static final long ******VersionUID 1L;
            };
            
    frame.setBackground(new java.awt.Color(80153200));
            
    //frame.add(language);
            
    frame.add(choice);
            
    frame.setLayout(new FlowLayout());
            
    frame.setSize(360150);
            
    frame.setVisible(true);
            
    frame.addWindowListener(new WindowAdapter()
            {
                @
    Override
                
    public void windowClosing(WindowEvent e){
                  
    System.exit(0);
                }
            }
            );
        }
        public 
    TextField getSay() {
            return 
    say;
        }
        public 
    void setSay(TextField say) {
            
    this.say say;
        }

    ~/http://sonkimdinhhust.wordpress.com/
    Franicso
    >_


+ Trả lời chủ đề

Thông tin chủ đề

Users Browsing this Thread

Hiện có 1 người đọc bài này. (0 thành viên và 1 khách)

Chủ đề tương tự

  1. các hàm thông dụng trong java
    Gửi bởi nang_xanh91 trong mục JAVA
    Trả lời: 3
    Bài cuối: 18-07-2012, 09:43 AM
  2. Bộ 10 game java được tải nhiều nhất trong năm
    Gửi bởi lamzuzi trong mục Game Offline
    Trả lời: 2
    Bài cuối: 09-06-2012, 10:03 AM
  3. lấy tên file trong ngôn ngữ java???
    Gửi bởi suongxuongnui trong mục Lập Trình
    Trả lời: 0
    Bài cuối: 07-04-2007, 12:22 AM

Từ khóa (Tag) của chủ đề này

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình


About svBK.VN

    Bách Khoa Forum - Diễn đàn thảo luận chung của sinh viên ĐH Bách Khoa Hà Nội. Nơi giao lưu giữa sinh viên - cựu sinh viên - giảng viên của trường.

Follow us on

Twitter Facebook youtube