*(适合人群:学过java基础和面向对象编程的人)*
很多新手现在只会开发一些简单的在console上的游戏,显然这不符合现在的电脑软件。正常的电脑软件儿都是窗体程序,有按钮啊、标签啊、输入框啊什么的。小编就教大家开发swing程序。
大家可能没听说过Swing是莫斯东东。Swing是Java的第二代GUI程序,相比起AWT和javafx,它要好得多。但是我在讲swing的jframe前,我要先say一say awt的frame类。
awt是开发java应用程序的第一代的gui程序,它里面有着开发窗体的基础。java.awt.Frame类就是窗体类,开发一个基本的窗体就用它了!
我们来giao一个小例子。
1.创建FrameTest类,并继承frame类。编写它的属性。
import java.awt.*;//用awt包儿 //这是一个frame对象 public class FrameTest extends Frame { //它的构造方法 public FrameTest() { //!!!重点代码!!! //编写此窗体的属性 /** *Frame的一些常用的函数 *setVisible(boolean visible); 设置窗体可不可见,true是可见 *setSize(int num1, int num2);设置窗体长宽,num1是长,num2是宽 *setLocation(int num1, int num2);设置位置,num1是横坐标,num2是纵坐标 *setBounds(int x,int y,int width,int height);相当于上面的两个函数的合并 */ setVisible(true);//设置窗体可见 setLocation(200,200);//设置位置(x=200,y=200) setSize(500,500);//设置大小(宽=500,高=500) } }
2.编写main方法后,实例化一个FrameTest对象,写“new FrameTest()”。写完这些代码,你会看到一个窗口,但是关不掉。小编之所以这么写,是因为frame类设置窗体关闭非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常麻烦。这也引入到了javax.swing.JFrame类。
swing在前面介绍过。它的包里面的许多东西都是继承自java.awt里面的类,但是**“代码更简单,效果更美观”**小编编的顺口溜嘿嘿嘿。下面我们就来写一个例子。
1.创建jframetest类,并继承jframe类。
import javax.swing.*;//要用到swing包儿 public class JFrameTest extends JFrame{ public JFrameTest() { /** *构造 */ setVisible(true); setBounds(200,200,500,500); /* *解锁新函数:setDefaultClostOperation(int 参数); *这个就是swing的jframe所提供的“设置关闭方式”函数。 *它的参数是一个int类型,由于它implements了WindowConstants接口。 *所以里面的常量可直接食用。最常见的是EXIT_ON_CLOSE。 */ setDefaultCloseOperation(EXIT_ON_CLOSE); } }
2.输入main方法后,在内部输入“new JFrameTest();”实例化。你会看到一个窗口,跟之前的没啥区别,但是按“x”可以关掉了。这就是jframe的基本使用。
拓展一下:
如果你想让这个窗口不要随着用户的操作而变动大小的话,可以试试setResizable(boolean 参数);,参数写false即可。如果想让窗口位置居中,就用setLocationRelativeTo(null);。
是时候让窗体加点儿颜色啦(加上组件,作者以后会说,现在只是讲获取容器)!利用AWT的container和getContentPane(),你就可以了。写一个例子。
1.编写一个ContainerTest类,并继承jframe类。导入java.awt.*;javax.swing.*。在内部搭建属性。
2.在构造方法下再接着写一些代码,具体如下:
Container con = getContentPane(); con.setLayout(null);
这个setLayout方法是搞布局,关于它的只是咱们以后再说。
**以上就是创建窗体程序的基本东西啦,有收获的点个赞、关注哦!**