Java Swing (三)Java Swing 組件基礎(2)Windows類

  • 1、頂層容器:
    1)頂層容器是進行圖形編程的基礎,一切圖形化的東西都必然包含在頂層容器中
    2)在Swing中主要包含三種可以使用的頂層容器:J
    JFrame:用來設計類似於windows系統中的窗口形式的應用程序
    JDialog:和JFrame類似,只不過JDialog用來設計問話框
    JApplet:用來設計可以嵌入在網頁中的Java小程序
  • 2、基於Swing的圖形界面至少要有一個頂層容器
    1)每個頂層容器都有一個內容面板
    2)頂層容器可以同時包含菜單組件和內容面板
    JFrame作爲頂層窗口的示意圖在這裏插入圖片描述
  • 3、圖形界面開發設計的流程:
    1)創建一個頂層容器JFrame
    2)創建一個內容面板(中間容器)
    3)創建一個菜單組件
    4)將所需的基本組件按照一定的佈局方式添加到內容面板中
  • 4、在頂層容器中添加組件
    1)在頂層容器中添加組件有兩種場景,若已經存在JFrame的對象frame,需要通過frame來獲取內容面板,然後再增加:
    pane = frame.getContentPane();
    pane.add(基本組件);
    若是新建的JFrame對象,則需要通過創建新的JPane對象,然後再增加
    JPanel pane=new JPanel();
    pane.add(基本組件);
    JFrame frame=new JFrame();
    frame.setContentPane(pane);

下面代碼演示在頂層容器中添加內容面板

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Test2 {
	static final int WIDTH=300;
	static final int HEIGHT=200;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame frame=new JFrame("添加內容面板測試程序");               // 創建一個頂層容器類對象
		frame.setSize(WIDTH,HEIGHT);                            // 設置頂層容器類對象的大小
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   // 設置頂層容器類對象的關閉功能
		frame.setVisible(true);                                 // 設置頂層容器類的可見性
		JPanel contentPane=new JPanel();                        // 創建一箇中間容器對象
		frame.setContentPane(contentPane);                      // 將中間容器組件對象contentPane設置爲內容面板	
	}
}

上述代碼運行結果爲:
在這裏插入圖片描述
下面的代碼繼續演示在內容面板中增加按鈕基本組件的操作

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Test3 {
	static final int WIDTH=300;
	static final int HEIGHT=200;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame frame=new JFrame("添加內容面板測試程序");               // 創建一個頂層容器類對象
		frame.setSize(WIDTH,HEIGHT);                            // 設置頂層容器類對象的大小
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   // 設置頂層容器類對象的關閉功能
		frame.setVisible(true);                                 // 設置頂層容器類的可見性
		JPanel contentPane=new JPanel();                        // 創建一箇中間容器對象
		frame.setContentPane(contentPane);                      // 將中間容器組件對象contentPane設置爲內容面板
		
		JButton ok=new JButton("確定");                          // 創建確定按鈕
		JButton cacel=new JButton("取消");                       // 創建取消按鈕
		contentPane.add(ok);                                    // 在內容面板中添加按鈕基本組件
		contentPane.add(cacel);                                 // 在內容面板中添加按鈕基本組件
	}
}

上述代碼運行結果爲:
在這裏插入圖片描述

  • 5、在頂層容器中添加菜單欄
    下面通過代碼來演示在頂層容器中增加菜單欄
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class Test4 {
	static final int WIDTH=300;
	static final int HEIGHT=200;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame frame=new JFrame();
		frame.setSize(WIDTH,HEIGHT);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setTitle("學生管理系統");
		
		JMenuBar menubar=new JMenuBar();  // 添加菜單條組件
		frame.setJMenuBar(menubar);       // 將菜單條添加到頂層容器中
		JMenu menu1=new JMenu("文件");     // 設置菜單組件
		JMenu menu2=new JMenu("編輯");
		JMenu menu3=new JMenu("視圖");
		
		menubar.add(menu1);          //	將菜單組件添加到菜單條組件中     
		menubar.add(menu2);
		menubar.add(menu3);
		
		JMenuItem item1=new JMenuItem("打開");    // 創建菜單項組件
		JMenuItem item2=new JMenuItem("保存");
		JMenuItem item3=new JMenuItem("打印");
		JMenuItem item4=new JMenuItem("退出");
		
		menu1.add(item1);     // 將菜單項組件添加到相應的菜單組件中去
		menu1.add(item2);
		menu1.addSeparator(); // 菜單項之間的分割線組件
		menu1.add(item3);
		menu1.addSeparator();
		menu1.add(item4);
		frame.setVisible(true);	
	}
}

上述代碼運行結果如下:
在這裏插入圖片描述
在這裏插入圖片描述
下面的代碼演示在除了增加菜單組件後,在內容面板中繼續增加組件的

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;

public class Test5 {
	static final int WIDTH=300;
	static final int HEIGHT=200;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame frame=new JFrame();
		frame.setSize(WIDTH,HEIGHT);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setTitle("學生管理系統");
		
		JMenuBar menubar=new JMenuBar();  // 添加菜單條組件
		frame.setJMenuBar(menubar);       // 將菜單條添加到頂層容器中
		JMenu menu1=new JMenu("文件");     // 設置菜單組件
		JMenu menu2=new JMenu("編輯");
		JMenu menu3=new JMenu("視圖");
		
		menubar.add(menu1);          //	將菜單組件添加到菜單條組件中     
		menubar.add(menu2);
		menubar.add(menu3);
		
		JMenuItem item1=new JMenuItem("打開");    // 創建菜單項組件
		JMenuItem item2=new JMenuItem("保存");
		JMenuItem item3=new JMenuItem("打印");
		JMenuItem item4=new JMenuItem("退出");
		
		menu1.add(item1);     // 將菜單項組件添加到相應的菜單組件中去
		menu1.add(item2);
		menu1.addSeparator(); // 菜單項之間的分割線組件
		menu1.add(item3);
		menu1.addSeparator();
		menu1.add(item4);
		frame.setVisible(true);	
		
		JButton button=new JButton("這是一個測試按鈕組件");
		JPanel pane=new JPanel();
		pane.add(button);
		frame.setContentPane(pane);
	}
}

上述代碼運行結果如下:
在這裏插入圖片描述

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