之前幾個(gè)案例代碼總結(jié)

總結(jié):

import java.awt.*;

public class MyBall{
    public static void main(String[] args){
        Frame w = new Frame();      
        w.setSize(300, 400);
        
        MyPanel mp = new MyPanel();
        w.add(mp);
        
        Thread t = new Thread(mp);
        t.start();
        
        w.show();
    }
}

class MyPanel extends Panel implements Runnable{
    int x = 30;
    int y = 30;
    int att = 0;
    public void paint(Graphics g){      
        g.fillOval(x, y, 20, 20);       
    }
    
    public void run(){
        while(true){    
        
            if(att == 0){
                x++;
                y++;
            }
            if(att == 1){
                x--;
                y++;
            }
            if(att == 2){
                x--;
                y--;
            }
            if(att == 3){
                x++;
                y--;
            }
            
            if(x > 263){
                if(att == 0){
                    att = 1;
                }else{
                    att = 2;
                }
            }
            if(y > 341){
                if(att == 1){
                    att = 2;
                }else{
                    att =3;
                }
            }
            if(x < 0){
                if(att == 2){
                    att = 3;
                }else{
                    att = 0;
                }
            }
            if(y < 0){
                if(att == 3){
                    att = 0;
                }else{
                    att = 1;
                }
            }
            try{
                Thread.sleep(30);
            }catch(Exception e){
                
            }
            repaint();
        }
    }
}

運(yùn)行結(jié)果:(畫斜線的小球,撞墻會(huì)改變方向)

圖片.png
import java.awt.*;
import java.awt.event.*;

public class MyBall2{
    public static void main(String[] args){
        Frame w = new Frame();
        w.setSize(300, 400);
        
        MyPanel mp = new MyPanel();
        w.add(mp);
        
        w.addKeyListener(mp);
        mp.addKeyListener(mp);
        
        w.show();
    }
}

class MyPanel extends Panel implements KeyListener{
    int x = 30;
    int y = 30;
    public void paint(Graphics g){
        g.fillOval(x, y, 20, 20);
    }
    
    @Override
    public void keyPressed(KeyEvent arg0){
        if(arg0.getKeyCode() == 37){
            x--;
        }
        if(arg0.getKeyCode() == 38){
            y--;
        }
        if(arg0.getKeyCode() == 39){
            x++;
        }
        if(arg0.getKeyCode() == 40){
            y++;
        }
        repaint();
    }
    
    @Override
    public void keyReleased(KeyEvent arg0){
        
    }
    
    @Override
    public void keyTyped(KeyEvent arg0){
        
    }
}

運(yùn)行結(jié)果:(鍵盤上的上下左右鍵控制小球)

圖片.png
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class MyChar{
    public static void main(String[] args){
        Frame w = new Frame();
        w.setSize(300, 400);
        
        MyPanel mp = new MyPanel();
        w.add(mp);
        
        w.addKeyListener(mp);
        mp.addKeyListener(mp);
        
        Thread t = new Thread(mp);
        t.start();
        
        w.show();
    }
}

class MyPanel extends Panel implements Runnable,KeyListener{
    int[] x = new int[10];
    int[] y = new int[10];
    char[] c = new char[10];
    int score = 1000;
    
    public MyPanel(){
        for(int i=0; i<10;i++){
            x[i] = (int)(Math.random()*300);
            y[i] = (int)(Math.random()*300);
            c[i] = (char)(Math.random()*26 + 97);
        }       
    }
    
    public void paint(Graphics g){
        g.setColor(Color.BLACK);
        for(int i=0;i<10;i++){
            g.drawString(new Character(c[i]).toString(), x[i], y[i]);
        }
        g.setColor(Color.RED);
        g.drawString("你的成績是:"+score, 5, 15);
    }
    
    public void run(){
        while(true){
            for(int i=0;i<10;i++){
                y[i]++;
                if(y[i]>400){
                    y[i] = 0;
                    x[i] = (int)(Math.random()*300);
                    c[i] = (char)(Math.random()*26 + 97);
                    score -= 100;
                }
            }
            
            try{
                Thread.sleep(30);
            }catch(Exception e){
                
            }
            repaint();
        }
    }
    
    @Override
    public void keyPressed(KeyEvent arg0){
        char keyC = arg0.getKeyChar();
        int nowY = -1;
        int nowIndex = -1;

        for(int i=0;i<10;i++){
            if(keyC == c[i]){
                if(y[i]>nowY){
                    nowY = y[i];
                    nowIndex = i;
                }               
            }
        }
        
        if(nowIndex != -1){
            y[nowIndex] = 0;
            x[nowIndex] = (int)(Math.random()*300);
            c[nowIndex] = (char)(Math.random()*26 + 97);
            score += 10;
        }else{
            score -= 100;
        }
    }
    
    @Override
    public void keyReleased(KeyEvent arg0){
        
    }
    
    @Override
    public void keyTyped(KeyEvent arg0){
        
    }
}

運(yùn)行結(jié)果:(打字游戲)

圖片.png
import java.awt.*;

public class MySnow{
    public static void main(String[] args){
        Frame w = new Frame();
        w.setSize(1024, 768);
        w.setBackground(Color.BLACK);
        
        MyPanel mp = new MyPanel();
        w.add(mp);
        
        Thread t = new Thread(mp);
        t.start();
        
        w.show();
    }
}

class MyPanel extends Panel implements Runnable{
    int x[] = new int[300];
    int y[] = new int[300];
    
    public MyPanel(){
        for(int i=0;i<300;i++){
            x[i] = (int)(Math.random()*1024);
            y[i] = (int)(Math.random()*768);
        }
    }
    
    public void paint(Graphics g){
        g.setColor(Color.WHITE);
        for(int i=0;i<300;i++){
            g.drawString("*",x[i], y[i]);
        }       
    }
    
    public void run(){
        while(true){
            try{
                for(int i=0; i<300; i++){
                    y[i]++;
                    if(y[i]>768){
                        y[i] = 0;
                    }
                }
                Thread.sleep(30);
            }catch(Exception e){
                
            }
            repaint();
        }
    }
}

運(yùn)行結(jié)果:(下雪)

圖片.png
import java.awt.Frame;
import java.awt.*;

public class MyTest{
    public static void main(String args[]){
        Frame w = new Frame();
        w.setSize(300, 400);
        
        MyPanel mp = new MyPanel();
        w.add(mp);
        
        w.show();
    }
}

class MyPanel extends Panel{
    public void paint(Graphics g){
        g.setColor(Color.BLUE);
        g.drawLine(30, 30, 100, 100);
        g.fillOval(30, 30, 50, 100);
    }
}

運(yùn)行結(jié)果:(畫斜線和橢圓)

圖片.png
import java.awt.*;
import java.lang.Math;

public class MyTest2{
    public static void main(String[] args){
        Frame w = new Frame();
        
        w.setSize(1024,768);
        w.setBackground(Color.BLACK);
        
        MyPanel2 mp = new MyPanel2();
        w.add(mp);
        
        w.show();
    }
}

class MyPanel2 extends Panel{
    public void paint(Graphics g){
        g.setColor(Color.WHITE);
        for(int i = 0 ; i < 300; i++){
            g.drawString("*", (int)(Math.random()*1024), 
                    (int)(Math.random()*768));
        }       
    }
}

運(yùn)行結(jié)果:(畫滿天星星)

圖片.png
import java.awt.*;
import javax.swing.*;

public class MyBall{
    public static void main(String[] args){
        JFrame w = new JFrame();
        w.setSize(300, 400);
        
        MyPanel mp = new MyPanel();
        w.add(mp);
        
        Thread t = new Thread(mp);
        t.start();
        
        w.setVisible(true);
    }
}

class MyPanel extends JPanel implements Runnable{
    int x = 30;
    int y = 30;
    public void paint(Graphics g){
        super.paint(g);
        g.fillOval(x, y, 20, 20);
    }
    
    public void run(){
        while(true){
            y++;
            if(y>400){
                y = 0;
            }
            
            try{
                Thread.sleep(20);
            }catch(Exception e){
                
            }
            repaint();
        }
    }
}

運(yùn)行結(jié)果:(下落小球)

圖片.png
import java.awt.*;
import javax.swing.*;

public class MyButton{
    public static void main(String[] args){
        JFrame w = new JFrame();
        w.setSize(300, 400);
        
        JButton b1 = new JButton("OK1");
        JButton b2 = new JButton("OK2");
        JButton b3 = new JButton("OK3");
        JButton b4 = new JButton("OK4");
        JButton b5 = new JButton("OK5");
        
        //設(shè)置布局
        w.setLayout(new FlowLayout());
        
        w.add(b1);
        w.add(b2);
        w.add(b3);
        w.add(b4);
        w.add(b5);
        
        w.setVisible(true);
    }
}


運(yùn)行結(jié)果:(畫按鈕)

圖片.png
public class MyTest{
    public static void main(String args[]){
        String s1 = new String("abc");
        String s2 = new String("abc");
        String s3 = "abc";
        String s4 = "abc";
        System.out.println(s1==s2);
        System.out.println(s3==s4);
        System.out.println("abc".hashCode());
    }
}

運(yùn)行結(jié)果:

圖片.png
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class QQLogin implements ActionListener{
    public static void main(String args[]){
        JFrame w = new JFrame();
        w.setSize(250, 125);
        
        //new 組件
        JLabel labUser = new JLabel("用戶名");
        JLabel labPass = new JLabel("密碼");
        
        JTextField txtUser = new JTextField();
        JPasswordField txtPass = new JPasswordField();
        
        JButton btnLogin = new JButton("登錄");
        JButton btnReg = new JButton("注冊(cè)");
        JButton btnCancel = new JButton("取消");
        
        //注冊(cè)事件監(jiān)聽
        QQLogin e = new QQLogin();
        btnLogin.addActionListener(e);
        btnReg.addActionListener(e);
        btnCancel.addActionListener(e);
        
        //布置輸入面板
        JPanel panInput = new JPanel();
        panInput.setLayout(new GridLayout(2, 2));
        
        panInput.add(labUser);
        panInput.add(txtUser);
        
        panInput.add(labPass);
        panInput.add(txtPass);
        
        //布置按鈕面板
        JPanel panButton = new JPanel();
        panButton.setLayout(new FlowLayout());
        
        panButton.add(btnLogin);
        panButton.add(btnReg);
        panButton.add(btnCancel);
        
        //布置窗體
        w.setLayout(new BorderLayout());
        
        w.add(panInput, BorderLayout.CENTER);
        w.add(panButton, BorderLayout.SOUTH);
        
        w.setVisible(true);
    }
    
    @Override
    public void actionPerformed(ActionEvent arg0){
        if(arg0.getActionCommand().equals("登錄")){
            System.out.println("用戶點(diǎn)擊了登錄");
        }
        if(arg0.getActionCommand().equals("注冊(cè)")){
            System.out.println("用戶點(diǎn)擊了注冊(cè)");
        }
        if(arg0.getActionCommand().equals("取消")){
            System.out.println("用戶點(diǎn)擊了取消");
        }
    }
}

運(yùn)行結(jié)果:

圖片.png
import java.awt.*;
import javax.swing.*;

public class QQMain{
    public static void main(String args[]){
        JFrame w = new JFrame();
        w.setSize(300, 400);
        
        //new 組件
        JTextField txtMess = new JTextField();
        
        JComboBox cmbUser = new JComboBox();
        JButton btnSend = new JButton("發(fā)送");
        
        JTextArea txtContent = new JTextArea();
        //設(shè)置滾動(dòng)條
        JScrollPane spContent = new JScrollPane(txtContent);
        
        //布置小面板
        JPanel panSmall = new JPanel();
        panSmall.setLayout(new GridLayout(1,2));
        
        panSmall.add(cmbUser);
        panSmall.add(btnSend);
        
        //布置大面板
        JPanel panBig = new JPanel();
        panBig.setLayout(new GridLayout(2, 1));
        
        panBig.add(txtMess);
        panBig.add(panSmall);
        
        //布置窗體
        w.setLayout(new BorderLayout());
        
        w.add(panBig, BorderLayout.NORTH);
        w.add(spContent, BorderLayout.CENTER);
        
        w.setVisible(true);
    }
}
圖片.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,932評(píng)論 25 709
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢(mèng)閱讀 100,608評(píng)論 9 468
  • 今天聽了通勤姐從頭哭到尾的分享,借錢路上的坎坷,一個(gè)樸實(shí)的農(nóng)村婦女,一邊插秧一邊聽課,誰能想到今天的她會(huì)因?yàn)樵S多人...
    張薇薇兒閱讀 150評(píng)論 0 0
  • 今天是來到印尼的第七天,過了一周的時(shí)間差不多了解了這邊的生活。 這邊的物價(jià)比國內(nèi)的貴,但是大牌的東西卻比較便宜。如...
    桃花園不吃藥都萌萌噠閱讀 278評(píng)論 0 0
  • 山澗舊道漸行端 偶有村家議路人 停車靜覽風(fēng)云過 花開花落是為何 我亦輕嘆多坎坷 天亦笑我如何躲 人間滄桑本波折 淚...
    那年十三閱讀 247評(píng)論 0 0

友情鏈接更多精彩內(nèi)容