简单界面实现

简单界面实现

基础知识了解


  • 在前面的学习中,我们简单地掌握了类与对象,类与类的作用关系,对于不同代码文件的整理,我们提出了包的概念,可以理解为一种文件夹,用来为代码文件分类,方便后人引用,在今天的界面实现中我们会大量地调用包。
  • IDEA环境下包的建立
    1.在scr文件上右键,点击new;
    2.点击package;
    3.设置包名;
    注意:在过程如果没有找到package或者建立包后没有找到建立类的选项时可以参考这篇文章:解决:Idea中创建包
  • 包的调用方法
    包的调用是在使用的类之前,使用关键字“import”,格式为“import 包名.调用的属性或方法名”,对于“调用的属性或方法名”,如果我们想任意地调用包中的方法或属性,可以用“*”代替,我们以下面的伪代码书写说明。
package logIn;
import javax.swing.*;//javax包调用
public class login{//想要调用javax包的类
  • 界面的基本元素
    界面的基本元素主要有三大类,第一类是可视化组件,包括输入框,关闭框,按键和标签等直观的元素;第二类是为可视化组件服务的元素规则,例如按键的大小尺寸,颜色,摆放布局(就是各个可视化组件的位置);第三类是界面的内容,包括字符串,图片,视频,音频等等。在下面我们将逐步讲解每一类元素的实现。

开工!建立自己的第一个界面

本次界面的实现依赖于两个包,一是javax.swing,二是java.awt,简单来说,两个包都是界面开发使用包,可以实现基本元素的创建。
我们以建立登录界面为例,在整体框架上,我们采用一个界面方法和一个主函数辅助对象的方式来实现。在此我们先解决辅助对象,假定我们的界面建立的方法名为InitUI,辅助对象的书写如下:

public static void main(String[] args) {
        login loginin =new login();//login 为类名
        loginin.InitUI();//InitUI 为在上面定义的方法名(下面会讲解到)
        }

对于方法的建立,我们主要分为几个可视化组件的实现:窗体;登录,账户和密码的标签和输入框;按钮;图片。窗体的设置包含窗体元素和窗体尺寸,布局,名称和关闭框,代码及注释如下:

JFrame jf = new JFrame();//建立窗体对象
        jf.setTitle("登录界面");//setTitle以及之后jf.后均为包中特有的方法名,此处为设置名字
        jf.setSize(595,567*2);//设置尺寸(左右参数分别为宽长和高度)
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭窗,此处JFrame.EXIT_ON_CLOSE为包内属性,直接照抄
        FlowLayout flow =new FlowLayout();//设置流体对象
        jf.setLayout(flow);//布局设置,此处为流体设置(窗口缩小或放大都居中,有多个可视化组件时按照其在代码中的顺序依次从左到右排列)

对于账户和密码的名称和输入框的建立,依赖于标签的实现,这里没有需要特别关注的地方,大致和上面类似,这里直接贴代码。

   JLabel namejla =new JLabel();//设置一个账户名称标签(标签不可点击)
   JLabel pwdjla =new JLabel();
   JTextField jtf=new JTextField();//设置名称输入框
   JPasswordField jpw=new JPasswordField();
   Dimension dim=new Dimension(595,50);//注意此处与窗体设置尺寸有所区别
   jtf.setPreferredSize(dim);//输入框设置尺寸
   jpw.setPreferredSize(dim);
   namejla.setText("账户名称");//设置内容
   pwdjla.setText("密码");

按钮与标签区别之处在于按钮是可以被点击的,实现类似,继续贴代码。

JButton jb =new JButton();//按钮建立
       jb.setText("登录");//内容设置

最后是复杂的图形建立,我们先说说一种图片路径的寻找。
1.把图片文件放置在桌面,右键点击属性;
2.对路径,文件名,文件类型进行复制
代码实现以及细节注释如下:

JLabel img =new JLabel();
        ImageIcon ImgIc =new ImageIcon("C:\\Users\\Lenovo\\Desktop\\picture.png");
        //文件名为字符串,记得加双引号,或者设置一个字符串对象,然后带入
        // "\"要双写,为了使原本的一个“\”显示
        //格式是“路径\\文件名。文件类型”
        img.setIcon(ImgIc);//图形属于一种特殊内容,
                           //需要借助标签,在标签内容设置方法中实现

最后,距离大功告成只剩一步,把这些组件可视化,注意不是所有对象可视化,区分好辅助对象和所需对象,例如在图形实现过程中ImgIc对象是图形路径的辅助对象,不需要被可视化,意思是我们不用在界面上看到图片路径或者其他抽象的东西,可视化实现如下:

jf.add(img);
        jf.add(namejla);
        jf.add(jtf);
        jf.add(pwdjla);
        jf.add(jpw);
        jf.add(jb);//加入可视化元素(注意有顺序)
        jf.setVisible(true);//确定可视化

我们把总码贴下:

package logIn;
import javax.swing.*;
import java.awt.*;

public class login{
    public void InitUI(){
        JFrame jf = new JFrame();
        jf.setTitle("登录界面");
        jf.setSize(595,567*2);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        FlowLayout flow =new FlowLayout();
        jf.setLayout(flow);
        JLabel namejla =new JLabel();
        JLabel pwdjla =new JLabel();
        JTextField jtf=new JTextField();
        JPasswordField jpw=new JPasswordField();
        Dimension dim=new Dimension(595,50);
        jtf.setPreferredSize(dim);
        jpw.setPreferredSize(dim);
        JButton jb =new JButton();
        JLabel img =new JLabel();
        ImageIcon ImgIc =new ImageIcon("C:\\Users\\Lenovo\\Desktop\\picture.png");
        img.setIcon(ImgIc);
        jb.setText("登录");
        namejla.setText("账户名称");
        pwdjla.setText("密码");
        jf.add(img);
        jf.add(namejla);
        jf.add(jtf);
        jf.add(pwdjla);
        jf.add(jpw);
        jf.add(jb);
        jf.setVisible(true);
    }

    public static void main(String[] args) {
        login loginin =new login();
        loginin.InitUI();
    }
}

效果图如下:
在这里插入图片描述
至此,我们完成了简单界面的建立,关于多界面的跳转和功能实现,我们将在后续进行学习。

注意事项:
1.尺寸的调节,窗体最好以图片尺寸为参考,这样效果好点;
2.我这里的图片来自自己电脑截屏,其他文件形式没有影响,需要自行修改此处路径;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值