之前几个案例代码总结

总结:

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();
        }
    }
}

运行结果:(画斜线的小球,撞墙会改变方向)

图片.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){
        
    }
}

运行结果:(键盘上的上下左右键控制小球)

图片.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){
        
    }
}

运行结果:(打字游戏)

图片.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();
        }
    }
}

运行结果:(下雪)

图片.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);
    }
}

运行结果:(画斜线和椭圆)

图片.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));
        }       
    }
}

运行结果:(画满天星星)

图片.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();
        }
    }
}

运行结果:(下落小球)

图片.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");
        
        //设置布局
        w.setLayout(new FlowLayout());
        
        w.add(b1);
        w.add(b2);
        w.add(b3);
        w.add(b4);
        w.add(b5);
        
        w.setVisible(true);
    }
}


运行结果:(画按钮)

图片.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());
    }
}

运行结果:

图片.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("注册");
        JButton btnCancel = new JButton("取消");
        
        //注册事件监听
        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("用户点击了登录");
        }
        if(arg0.getActionCommand().equals("注册")){
            System.out.println("用户点击了注册");
        }
        if(arg0.getActionCommand().equals("取消")){
            System.out.println("用户点击了取消");
        }
    }
}

运行结果:

图片.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("发送");
        
        JTextArea txtContent = new JTextArea();
        //设置滚动条
        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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,080评论 25 707
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,257评论 9 467
  • 今天听了通勤姐从头哭到尾的分享,借钱路上的坎坷,一个朴实的农村妇女,一边插秧一边听课,谁能想到今天的她会因为许多人...
    张薇薇儿阅读 122评论 0 0
  • 今天是来到印尼的第七天,过了一周的时间差不多了解了这边的生活。 这边的物价比国内的贵,但是大牌的东西却比较便宜。如...
    桃花园不吃药都萌萌哒阅读 172评论 0 0
  • 山涧旧道渐行端 偶有村家议路人 停车静览风云过 花开花落是为何 我亦轻叹多坎坷 天亦笑我如何躲 人间沧桑本波折 泪...
    那年十三阅读 144评论 0 0