java简单画图板的实现

1,登陆界面(JFrame,JLabel)

        我们先来做一个仿QQ的登陆界面,并实现当输入正确的账号和密码时,跳出画图板。
      首先,我们要知道,java中的所有界面(窗体,面板及其中的各个元素组件)都是画出来的。而java提供了两个现成的组件用来画这些界面:
      1,awt组件 
                 awt组件是基础组件。这些组件的实现调用了操作系统底层的绘图函数。
      2,swing组件
                swing组件是awt组件的扩展。
      这里我们使用的是swing组件。
     
     swing组件中包含的常用组件类:
     1,容器组件类:    
                  能添加容器组件和元素组件的类就是容器组件类。(顶级容器之间不能相互添加)
          JFrame类:
                  窗体容器组件类。   顶级容器。
         JPanel类:
                  这时我们就要简单了解一下图形界面的布局了。(这里我们只介绍两种最常用的布局)
         流式布局(FlowLayOut):JFrame默认为流式布局。也就是说,想象你的整个界面是一张白纸,要在上面写字                                                      或者画画,而流式布局规定只有当一行写满时才会跳到下一行。
         当我们的界面相对复杂一些的时候,我们就需要边框布局:
         边框布局(BorderLayOut):JPanel默认为边框布局。让我们用图形来更清晰的认识一下这种布局:
         
             如图,这种布局将面板分为五个部分,每一个部分分别都是一个容器组件。

举个例子:

 这段代码就创建了一个北边的面板,这时我们就可以在这个面板上添加所需的按钮了                                              
                
     2,元素组件类:
                JLabel标签元素组件类显示文字或者图片
                JTextField文本输入框元素组件类接收输入信息,将输入信息显示出来
                JPasswordField密码输入框元素组件类接收输入信息,将输入的信息以某个符号代替显示
                JCheckBox复选框(多选框)元素组件类首先又一个选择框,在选择框后还能显示文字或者图片信息
                JButton按钮元素组件类显示文字或图片,提供一个点击效果
以即将开始做的登录界面为例:

     3,辅助类:帮助组件完成某一个功能的类
                javax.swing.ImageIcon图标类将磁盘上的图片文件加载到程序中。
                java.awt.FlowLayout流式布局类流式布局类似word文档(所有的布局类都只能应用于容器组件上)                                                                               在java.awt和javax.swing包下所有以Layout结尾的类都是布局类
               java.awt.Dimension封装类用来封装组件的宽度和高度
//登录界面
package Login_Drawing;
import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.*;

public class LoginFrame {
	
	public void login() {
		
		JFrame frame = new JFrame();
		frame.setSize(550,450);
		frame.setLocationRelativeTo(null);
		frame.setDefaultCloseOperation(3);
		frame.setTitle("天天画图登录");
		
		JPanel panel = new JPanel();       //北边的面板(背景图片)
		frame.add(panel,BorderLayout.NORTH);
		
		JPanel panel2 = new JPanel();       //西边的面板(头像图片)
		frame.add(panel2,BorderLayout.WEST);
		
		JPanel panel3 = new JPanel();     //中间的面板
		frame.add(panel3,BorderLayout.CENTER);
		
		ImageIcon image = new ImageIcon(this.getClass().getResource("053.jpg"));    //背景图片
		JLabel lab = new JLabel(image);
		lab.setPreferredSize(new Dimension(550,200));
		panel.add(lab);       
		
		ImageIcon image2 = new ImageIcon(this.getClass().getResource("052.jpg"));    //头像图片
		JLabel lab2 = new JLabel(image2);
		lab2.setPreferredSize(new Dimension(130,130));
		panel2.add(lab2);
		
		JTextField text = new JTextField(); 
		text.setPreferredSize(new Dimension(300, 30));
		panel3.add(text);
		
		JLabel label = new JLabel("  账号");
		panel3.add(label);
		
		JPasswordField password = new JPasswordField();
		password.setPreferredSize(new Dimension(300, 30));
		panel3.add(password);
		
		JLabel label2 = new JLabel("  密码");
		panel3.add(label2);
		
		JCheckBox box1 = new JCheckBox("记住密码                        ");
		panel3.add(box1);
		
		JCheckBox box2 = new JCheckBox("自动登录                        ");
		panel3.add(box2);
		
		JButton but = new JButton("安全登录 ");
		but.setPreferredSize(new Dimension(270, 30));
		panel3.add(but);
		
		LoginLis lis = new LoginLis(frame);
		but.addActionListener(lis);
			
		frame.setVisible
  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值