菜鸟学JAVA之JFrame

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);
	}
	

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章