【JAVA】可视化窗口制作

1.概括


  今天我具体来分析一下JAVA可视化窗口的制作;其中包括窗口标题窗口大小尺寸窗体中标签输入框按键等插件的添加以及我们窗体中的插件改如何布局,排放位置等,这里我们使用的是设置坐标来进行部件布局。


2.步骤分析

1.我们先试着创建一个可视化窗口;

2.试着把窗口的标题,尺寸大小设置成合适的;

3.调整面板布局,试着在面板中添加输入框,按键等;

2.1.创建可视化窗口

我们看一个例子:

package com.hm.ui;

import javax.swing.JFrame;

public class TextFrame extends JFrame {


	public TextFrame() {
		this.setTitle("测试窗口");  //窗口标题
		this.setSize(630, 420);   //窗口尺寸
		this.setLocationRelativeTo(null);  //设置窗口位置居中
		this.setDefaultCloseOperation(3); // 关闭窗口选项
		this.setResizable(true);    //用户可以手动改变窗体大小
		this.setVisible(true);      //窗体可视,注意:不加窗体可视是不能看到窗口的
	}
	

	public static void main(String[] args) {
		 new TextFrame();

	}

}

 我们看一下测试效果:可以看到我们这个可视化窗口就创建出来了; 

 


2.2.添加插件(标签,输入框,按键)

我们要明白在添加插件之前,我们要先创建一个JFrame对象以及JPanel面板,之后我们创建的像JLabel标签,JTextField输入框,JButton按钮等都是需要先一步步添加到JPanel面板中,最后再把JPanel面板添加到我们创建的JFrame对象中,我们才算插件添加成功了。

1.定义组件

// 定义组件
JFrame frame = new JFrame();
JPanel jp,jp1, jp2, jp3;// 面板
JLabel jl,jl1,jl2,jl3;// 标签
JTextField jt1, jt2, jt3;// 文本框
JButton jb1, jb2;// 按钮

2.创建各组件(new一个新对象)

// 添加标签
jp = new JPanel();
jp.setLayout(null);
jl = new JLabel("测试窗口1");

// 添加标签1
jl1 = new JLabel("书籍名字");
// 创建输入框
jt1 = new JTextField(10);

// 标签2
jl2 = new JLabel("书籍出版社");
JTextField jt2 = new JTextField(10);

// 标签3
jl3 = new JLabel("书籍类型");
jt3 = new JTextField(10);

// 添加按键
jb1 = new JButton("增加");
jb2 = new JButton("返回");

3.把各组件添加进窗体中

// 把各部件添加到窗体中
 jp.add(jl);
 jp.add(jl1);
 jp.add(jt1);
 jp.add(jl2);
 jp.add(jt2);
 jp.add(jl3);
 jp.add(jt3);
 jp.add(jb1);
 jp.add(jb2);
 this.add(jp);

经过上面三个步骤,我们想添加的部件就可以成功添加到我们的窗体中去了。 

2.3.设置布局(各部件设置坐标)

接下来,我们来讲讲窗体中添加的各部件如何排版的问题,这里我用到是坐标(可以按自己的兴趣随便排版,适合添加部件较少的情况下使用);平时我们添加部件较多觉得一个一个加坐标复杂的话,我们可以采用边界布局BorderLayout,它可以将窗体划分成5个(上,中,下,东,西)等大的区域,我们只需要在不同的区域内添加我们需要的组件,添加进去后各主键就会自动调整大小和位置,以适应容器大小和布局方式,这种方式相比较设坐标的话更加简单实用

//大标签坐标
jl.setBounds(250, 30, 200, 40);

//小标签及文本输入框坐标
jl1.setBounds(150, 90, 100, 20);
jt1.setBounds(250, 90, 260, 20);
jl2.setBounds(150, 130, 100, 20);
jt2.setBounds(250, 130, 260, 20);
jl3.setBounds(150, 170, 100, 20);
jt3.setBounds(250, 170, 260, 20);

//按钮坐标
jb1.setBounds(180, 230, 150, 30);
jb2.setBounds(360, 230, 150, 30);

2.4.字体大小及颜色设置

窗口标题字体设置:

// 设置标签字体大小,颜色
jl.setFont(new Font(Font.DIALOG, Font.BOLD, 40));
jl.setForeground(Color.gray);
//标签框颜色
jl.setBorder(new LineBorder(Color.CYAN));

我们对比一下效果:

                     

可以很清楚的看到标题字体大小,颜色,及标题框颜色已全部改变。 

按键字体一样的代码:

// 按键字体设置,添加颜色
 jb1.setFont(new Font(Font.DIALOG, Font.PLAIN, 20));
 jb2.setFont(new Font(Font.DIALOG, Font.PLAIN, 20));
 jb1.setForeground(Color.blue);
 jb2.setForeground(Color.green);
			 

                            

                             

3.项目源代码

package com.hm.ui;

import java.awt.Color;
import java.awt.Font;
import java.awt.Image;
import java.awt.Toolkit;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.LineBorder;
 

public class TextFrame extends JFrame {
	    // 定义组件
		JFrame frame = new JFrame();
		JPanel jp,jp1, jp2, jp3;// 面板
		JLabel jl,jl1,jl2,jl3;// 标签
		JTextField jt1, jt2, jt3;// 文本框
		JButton jb1, jb2;// 按钮

		public TextFrame() {
			// 添加标签
			jp = new JPanel();
			jp.setLayout(null);    //(清空布局管理器)
			jl = new JLabel("测试窗口1");
			jl.setBounds(250, 30, 200, 40);
			// 设置标签字体大小,颜色
			jl.setFont(new Font(Font.DIALOG, Font.BOLD, 40));
			jl.setForeground(Color.gray);
			// 标签框颜色
			jl.setBorder(new LineBorder(Color.CYAN));

			// 添加标签1
			jl1 = new JLabel("书籍名字");
			jl1.setBounds(150, 90, 100, 20);
			jl1.setFont(new Font(Font.DIALOG, Font.PLAIN, 20));
			// 创建输入框
			jt1 = new JTextField(10);
			jt1.setBounds(250, 90, 260, 20);
			jt1.setFont(new Font(Font.DIALOG, Font.PLAIN, 20));

			// 标签2
			jl2 = new JLabel("书籍出版社");
			jl2.setBounds(150, 130, 100, 20);
			jl2.setFont(new Font(Font.DIALOG, Font.PLAIN, 20));
			JTextField jt2 = new JTextField(10);
			jt2.setBounds(250, 130, 260, 20);
			jt2.setFont(new Font(Font.DIALOG, Font.PLAIN, 20));

			// 标签3
			jl3 = new JLabel("书籍类型");
			jl3.setBounds(150, 170, 100, 20);
			jl3.setFont(new Font(Font.DIALOG, Font.PLAIN, 20));
			jt3 = new JTextField(10);
			jt3.setBounds(250, 170, 260, 20);
			jt3.setFont(new Font(Font.DIALOG, Font.PLAIN, 20));

			// 添加按键
			jb1 = new JButton("增加");
			jb1.setBounds(180, 230, 150, 30);
			jb2 = new JButton("返回");
			jb2.setBounds(360, 230, 150, 30);
			// 按键字体设置,添加颜色
			jb1.setFont(new Font(Font.DIALOG, Font.PLAIN, 20));
			jb2.setFont(new Font(Font.DIALOG, Font.PLAIN, 20));
			jb1.setForeground(Color.blue);
			jb2.setForeground(Color.green);

			// 把各部件添加到窗体中
			jp.add(jl);
			jp.add(jl1);
			jp.add(jt1);
			jp.add(jl2);
			jp.add(jt2);
			jp.add(jl3);
			jp.add(jt3);
			jp.add(jb1);
			jp.add(jb2);
			this.add(jp);

			// 设置窗口
			this.setTitle("测试窗口"); // 窗口标题
			this.setSize(630, 420); // 窗口尺寸
			this.setLocationRelativeTo(null); // 设置窗口位置居中
			this.setDefaultCloseOperation(3); // 关闭窗口选项
			this.setResizable(true); // 用户可以手动改变窗体大小
			this.setVisible(true); // 窗体可视,注意:不加窗体可视是不能看到窗口的
		}
	

	public static void main(String[] args) {
		 new TextFrame();

	}

}

整体效果图:


4.总结

  Java编程学习中,可视化窗口的学习可以让我们直观地让我们看到我们自己写的代码呈现的整体效果,也方便我们边写边改,我认为还是比较实用的,希望这篇对刚学习Java可视化窗口的朋友们有所帮助。