JFrame是JAVA中可视化窗体,从这出发我们可以学习到很多东西。我们会学习到JFrame的一些方法。如果对这些方法不了解的话,可以通过查阅API文件,获取其使用方法。
JDK7的API:http://docs.oracle.com/javase/7/docs/api/
窗体的创建
JFrame在swing包中,而swing是JAVA自身的。就是说只需有JAVA虚拟机,便可在不同电脑上实现相同功能。而另外还有awt包,它与操作系统有关,所以其实现后的效果往往会有所不同。
如果需要使用JFrame则需要引入javax.swing。
以下是第一个例子,它实现了创建并显示一个窗体:
import javax.swing.*;
public class abc {
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frm=new JFrame("This is a test!"); //实例化一个窗体
frm.setSize(200, 200); //设置大小
frm.setLocation(150, 150); //设置窗体位置
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置默认关闭操作
frm.setVisible(true); //设置是否可见
}
}
由此,我们便可以得到一个窗体。然而这个窗体并不能提供任何操作。在JAVA中我们需要在窗体的基础上加入面板:Panle;而后便可以在面板上对其他元件进行操作,诸如添加一个按钮,标签等……
下面我们加入面板,并且尝试加入按钮:
import java.awt.*;
import javax.swing.*;
public class abc {
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frm=new JFrame("This is a test!"); //实例化一个窗体
frm.setSize(200, 200);
frm.setLocation(150, 150);
JPanel myPane=new JPanel(); //实例化一个面板
frm.setContentPane(myPane); //在窗体中加入面板
myPane.setBackground(Color.YELLOW); //设置面板背景色
JButton jb1= new JButton("算法"); //实例化一个按钮
myPane.add(jb1); //在面板中加入按钮
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setVisible(true);
}
}
执行这个程序我们会看到一个带按钮的窗体,并且其背景色是黄色的。
我们一般选择通过继承JFrame来新建一个JFrame类来使用JFrame。
继承JFrame
import javax.swing.*;
import java.awt.Color;
public class myFrame extends JFrame {
private JPanel myPane;
private JButton jb1;
private JButton jb2;
private JLabel jl1;
private JLabel jl2;
public myFrame (String s){
super(s);
setSize(400,450);
setLocationRelativeTo(null);
myPane=new JPanel();
setContentPane(myPane);
myPane.setBackground(Color.RED);
jb1=new JButton("a");
jb2=new JButton("b");
jl1=new JLabel("A");
jl2=new JLabel("B");
myPane.add(jb1);
myPane.add(jb2);
myPane.add(jl1);
myPane.add(jl2);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}