美文网首页
之前几个案例代码总结

之前几个案例代码总结

作者: linhaoyou | 来源:发表于2017-07-06 09:39 被阅读0次

    总结:

    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

    相关文章

      网友评论

          本文标题:之前几个案例代码总结

          本文链接:https://www.haomeiwen.com/subject/eagchxtx.html