新鲜出炉(java界面设计工具)java界面设计背景图片,Java界面设计,java窗口布局,
一、Java的图形界面类
Java给我们提供了两套图形界面包:
一套是AWT组件(java.awt),它在实现的时候直接调用了系统底层的绘图函数,这样就导致这套组件在不同平台上需要独立去做开发。
另一套是SWING组件(javax.swing),它是在基于AWT组件的基础上,采用Java代码构建的一套新的组件,又叫轻量级组件。
二、实现界面所需要的API类
我们以登录界面为例,阐述实现界面需要的API类:
1.容器组件类
首先是容器组件类,它能添加容器组件或者元素组件,javax.swing.JFrame就是一个窗体容器组件类。我们可以用setSize,setLocation,setDefaultCloseOperation,setTitle等该类自带的方法去设置它的属性,举例如下:
javax.swing.JFrame frame=new javax.swing.JFrame();//实例化一个窗口 //设置窗体的属性值 frame.setTitle("login");//设置窗口的标题为login frame.setSize(300,420);//设置窗口的大小为300*420像素 frame.setLocationRelativeTo(null);//设置窗口的位置在界面正中心 frame.setDefaultCloseOperation(3);//设置单击关闭按钮以后界面不再运行 //实例化流式布局,居中对齐 java.awt.FlowLayout f1=new java.awt.FlowLayout();//设置窗体对象布局为流式布局 frame.setLayout(f1);frame.setVisible(true);//显示窗口为可见(这句话放在实例化界面函数的最后一句)
2.元素组件类
接下来就是元素组件类,我们可以用JLabel类来添加标签元素类,显示文字或者图片信息;用JTextField类实现文本的输入;用JPasswordField类实现密码的输入(输入文本但是不显示);用JCheckBox类实现复选框;用JButton类实现按钮的实例化,并可以显示文字或图片信息。接下来我们用一段代码解释这些类以及它所能使用的方法:
javax.swing.JLabel name=new javax.swing.JLabel("账号:");//实例化文本对象“账号:”(括号中写上文本名) frame.add(name);//添加文本对象到窗体,这句话不加则该对象不会显示javax.swing.JTextField textname=new javax.swing.JTextField();//实例化文本输入框对象 java.awt.Dimension dim=new java.awt.Dimension(210,30);//实例化一个关于设置元素大小的Dimension类对象并添加 textname.setPreferredSize(dim);//设置文本输入框的大小为210*30像素,注意到:这里是用的setPreferredSize函数,因为对于非容器组件,只能用这个方法去设置大小 frame.add(textname);//添加该对象javax.swing.JLabel password=new javax.swing.JLabel("密码:");//实例化文本对象"密码:" frame.add(password);//添加该对象javax.swing.JPasswordField pass=new javax.swing.JPasswordField()//实例化密码输入框 pass.setPreferredSize(dim);//设置密码输入框的大小(与之前的文本输入框相同所以用的同一个dimension类对象。 frame.add(pass);//添加该对象javax.swing.JCheckBox b1=new javax.swing.JCheckBox();//实例化复选框 frame.add(b1);//添加该对象javax.swing.JLabel remember=new javax.swing.JLabel("记住密码");//实例化文本对象"记住密码" frame.add(remember);//添加该对象javax.swing.JCheckBox b2=new javax.swing.JCheckBox();//实例化复选框 frame.add(b2);//添加该对象javax.swing.JLabel autologin=new javax.swing.JLabel("自动登录");//实例化文本对象"自动登录" frame.add(autologin);//添加该对象javax.swing.JButton bu=new javax.swing.JButton("登录");//实例化按钮 java.awt.Dimension dim1=new java.awt.Dimension(210,60);bu.setPreferredSize(dim1);//实例化一个新的Dimension类对象并且设置它的大小为210*60像素 frame.add(bu);//添加该对象
如果我们需要设置一大串按钮,是不需要一个一个实例化并添加的,可以利用循环来添加一系列的按钮,这样可以减少代码冗余,以计算器按键设置为例,示例如下:
String [] t={"CE","C","←","/","7","8","9","*","4","5","6","","1","2","3","+","±","0",".","="};//设置你需要定义的一系列按钮上的文字//设置按钮for(int i=0;i<t.length;i++){javax.swing.JButton CE=new javax.swing.JButton(t[i]);//实例化按钮,按钮上的文字在String类数组中已定义好java.awt.Dimension dim2=new java.awt.Dimension(100,60);CE.setPreferredSize(dim2);//定义一个新的Dimension对象,并设置按钮大小frame.add(CE);//添加按钮}
那么登录界面实现以后我们要怎么让它在按下登录按钮以后有所反应呢?请看下一篇文章:事件监听机制
版权申明
本文系作者 @河马 原创发布在河马博客站点。未经许可,禁止转载。
暂无评论数据