系统学习JAVA前的热身

来源:互联网 发布:网络作家道三生 编辑:程序博客网 时间:2024/06/01 15:34

  java是一门面向对象的编程。面向对象,顾名思义,可以理解为关注对象,关注的重点在对象上。我们可以从生活的角度来理解:生活中的任何一件事=对象(执行者)+过程(执行流程)。面向对象就是生活中发生了一件事,我们作为旁观者的角度,更加关注的是对象。而面对过程就我们作为旁观者更加关注的是过程。我们在生活中更多的是面对对象的。

  在java的语法中我们要先有类再有对象,那么类和对象我们怎么理解呢。我们也可以从生活的角度来理解,类:一些对象的共同点集合,是抽象性的。对象:生活中一个个的实体,是具体的物体。而且我们要记得对于执行某件事情的执行者,一定是对象而不能是类。

  c++,java是面向对象的编程语言,c是面向过程的语言。面向对象的编程结果存在不确定性的,而面向过程的编程结果是确定的。面向对象的编程有三大特性:继承性,封装性,多态性。

  随后我们编写了一个仿制QQ的登录界面。

import javax.swing.JFrame;
import java.awt.BorderLayout;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JCheckBox;
import javax.swing.JButton;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.awt.Point;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JOptionPane;


public class UI{
public static int x=0,y=0;


public static void main(String args[]){
//1.创建一个窗体
JFrame jf=new JFrame();


//3.设置窗体大小
        jf.setSize(428,380);


//4.设置窗体位置
        jf.setLocationRelativeTo(null);


    //5.设置窗体关闭方式
        jf.setDefaultCloseOperation(3);


//6.去除窗体默认边框
  jf.setUndecorated(true);




//7.设置窗体布局,为边框布局(会分为上下左右中五个部分)
BorderLayout bl=new BorderLayout();
jf.setLayout(bl);
 
//8.上半部分放置一个图片
        ImageIcon pic=new ImageIcon("GIF.gif");
  JLabel label=new JLabel(pic);
        jf.add(label,BorderLayout.NORTH);


    //9.下半放置一个面板,设置绝对布局
        JPanel panel=new JPanel();
        jf.add(panel,BorderLayout.CENTER);
panel.setLayout(null);


//10.面板上放置一个头像图片
ImageIcon pic1=new ImageIcon("head_log.jpg");
        JLabel label1=new JLabel(pic1);
        label1.setBounds(50,30,80,80);
panel.add(label1);


//面板上放置账号框
JTextField jtf=new JTextField();
jtf.setBounds(170,30,180,30);
panel.add(jtf);

//放置密码框
JTextField jtf1=new JTextField();
jtf1.setBounds(170,70,180,30);
panel.add(jtf1);


//放置复选框
JCheckBox jcb=new JCheckBox("记住密码");
JCheckBox jcb1=new JCheckBox("自动登录");
jcb.setBounds(170,110,100,50);
        jcb1.setBounds(270,110,100,50);
panel.add(jcb);
panel.add(jcb1);


    //放置登陆键
       JButton jb=new JButton("登录");
       jb.setBounds(170,160,200,30);
       panel.add(jb);


    // 放置两个标签
JLabel label2=new JLabel("找回密码");
JLabel label3=new JLabel("注册账号");
        label2.setBounds(360,20,100,50);
label3.setBounds(360,50,100,50);
panel.add(label2);
panel.add(label3);


    //2.设置窗体可见
        jf.setVisible(true);

/*监听器:监视器(监视一些事物的动作)

作用:用于监听窗体上一些组件的动作

使用方式:把一些逻辑(窗体关闭、窗体最小化、窗体移动、按钮点击等动作)通过事件的触发来执行

监听器:鼠标监听器,事件监听器

*/


    //创建鼠标监视器对象
MouseListener Mouse=new MouseListener(){
//点击鼠标时
public void mouseClicked(MouseEvent e){
//获取鼠标相对于组件的坐标
x=e.getX();
y=e.getY();
if(x>400&&y<24){
//关闭窗体
System.exit(1);
}
else if(x>370&&x<400&&y<24){
//最小化
jf.setExtendedState(1);
}

         
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
        public void mousePressed(MouseEvent e) {
x=e.getX();
y=e.getY();
}
public void mouseReleased(MouseEvent e) {}
        };

//拖动窗体
MouseMotionListener Motion=new MouseMotionListener(){
public void mouseDragged(MouseEvent e){
//获取鼠标相对于组件的坐标
int mouse_X=e.getX();
int mouse_Y=e.getY();



Point point =jf.getLocation();
//获取窗体的绝对坐标
int frame_X = (int)point.getX();
int frame_Y = (int)point.getY();
//设置窗体位置坐标
jf.setLocation(frame_X+mouse_X-x,frame_Y+mouse_Y-y);
}
        public void mouseMoved(MouseEvent e){}

         };
//创建事件监视器对象
ActionListener action=new ActionListener(){
public void actionPerformed(ActionEvent e){
//获取输入框中的文本
String text=jtf.getText();
//校验
if(text.equals("admin")){
//设置弹出的窗体
JFrame jf1=new JFrame();
jf1.setSize(500,400);
jf1.setDefaultCloseOperation(3);
jf1.setVisible(true);
//设置原来的窗体关闭
jf.dispose();
}else{
JOptionPane.showMessageDialog(null,"登陆失败");
}

}
};

label.addMouseListener(Mouse);
label.addMouseMotionListener(Motion);
    jb.addActionListener(action);
  }

}







 


原创粉丝点击