前言
本文面向编程零基础的小白,用生活中的案例通俗讲解java中设计带操作界面的应用程序完整实操流程,手把手演示创建界面,设置按键,输入框并加入简单功能的完整可运行代码示例。
正文
比如生活中在应用程序的账号登陆,会进入一个界面
这里便是需要在java中定义登录并建立一个界面(窗体):
publicclassLogin{publicvoidshowUI(){JFramejf=newJFrame();//显示可见(下面这行)需要放到所有代码之后jf.setVisible(true);}}接下来设置窗体基础界面:
jf.setSize(420,550);//窗框大小jf.setTitle("登录界面");//界面名称jf.setLocationRelativeTo(null);//居中显示jf.setDefaultCloseOperation(3);//退出进程流式布局管理器:控制位置以及大小,默认居中放在第一行,放不下就往下流动:
FlowLayoutflow=newFlowLayout();jf.setLayout(flow);//设置窗体为流式布局加载图片:
ImageIconimage=newImageIcon("")//引号内加入图片所在文件位置(图片要注名)加标签(账号):
JLabeljla=newJLabel(image);//加标签jf.add(jla);JLabeluser=newJLabel("账号:");//提示信息jf.add(user);显示文本框:
JTextFieldjtf=newJTextField();Dimensiondm=newDimension(360,30);//除了JFrame,其它组件设置大小都是该方法jtf.setPreferredSize(dm);jf.add(jtf);加入按钮并赋予功能:
JButtonjbu=newJButton("登录");jf.add(jbu);在这里加入一个接口(实现接口的关键字implement),需要新定义一个类(BottonListener)并实现接口:
publicclassButtonListenerimplementsActionListener{publicvoidactionPerformed(ActionEvente)//重写接口中的抽象方法{System.out.println("点击按钮!");//显示登录成功的新界面//创建窗体对象,设计可见新界面JFramejfr=newJFrame();jfr.setSize(400,550);jfr.setTitle("登录成功");jfr.setLocationRelativeTo(null);jfr.setDefaultCloseOperation(3);jfr.setVisible(true);}}回到原登录界面,在登录按钮后加入监听器,实现接口:
//1.事件源:当前动作所发生的组件(swing):登录按钮//2.监听器:动作监听器方法:addActionListener()//3.绑定事件处理类//给登录按钮添加动作监听器方法//接口不能直接创建对象//接口的使用步骤:1.重新定义类实现接口 2.重写接口中的抽象方法ButtonListenerlistener=newButtonListener();jbu.addActionListener(listener);最后添加主函数
publicstaticvoidmain(String[]args){//在主函数中,类里面的属性和方法必须通过对象调用Loginlo=newLogin();lo.showUI();}下面是完整演示:
publicclassLogin{publicvoidshowUI(){JFramejf=newJFrame();jf.setSize(400,550);jf.setTitle("登录界面");jf.setLocationRelativeTo(null);jf.setDefaultCloseOperation(3);FlowLayoutflow=newFlowLayout();jf.setLayout(flow);//图片ImageIconim=newImageIcon("");Dimensiondn=newDimension(400,300);//标签JLabeljla=newJLabel(im);jla.setPreferredSize(dn);jf.add(jla);JLabeluser=newJLabel("账号");jf.add(user);Dimensiondf=newDimension(360,30);JTextFieldjtb=newJTextField();jtb.setPreferredSize(df);jf.add(jtb);JLabeluse=newJLabel("密码");jf.add(use);Dimensiondm=newDimension(360,30);JTextFieldjtf=newJTextField();jtf.setPreferredSize(dm);jf.add(jtf);JButtonjbu=newJButton("登录");jf.add(jbu);BottonListenerbot=newBottonListener();jbu.addActionListener(bot);JButtonjba=newJButton("注册");jf.add(jba);jf.setVisible(true);}publicstaticvoidmain(String[]arge){Loginlog=newLogin();log.showUI();}}ps:如JFrame等需在定义类之前引用java库
完整演示中图片部分不展示,请自行添加