菜鳥學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);
	}
	

}


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