用Java編寫一個最簡單的桌面程式

Java語言發表於2018-04-07

使用Java的優勢在於網路應用方面,但Java也提供了強大的用於開發桌面程式的API,它們包含在javax.swing包中.使用這個包可以編寫簡單的Java桌面應用程式.點選連結加入群聊【java《學習》+交流】:https://jq.qq.com/?_wv=1027&k=5hwRg0C 523401738

Java的javax.swing包提供了許多用來設計GUI的元件類,在學習GUI程式設計時,需要掌握兩個概念:容器類(Container)和元件類(Component),以下是GUI程式設計中經常提到的基本知識點.

· Java把Component類的子類或間接子類建立的物件稱為一個元件.

· Java把Container的子類或間接子類建立的物件稱為一個容器.

· 可以向容器中新增元件.Container類提供了一個public方法add(),一個容器可以呼叫這個方法將元件新增到該容器中.

· 容器呼叫removeAll()方法可以移除掉容器中的全部元件,呼叫remove(Component c)方法可以移除掉容器總引數c指定的元件.

· 容器本身也是一個元件,因此可以把一個容器新增到另一個容器中實現容器的巢狀.

· 每當容器新增新的元件或移除元件時,應當讓容器呼叫validate方法,以保證容器中的元件能正確顯示出來.

接下來用Java編寫一個簡單的桌面程式。

一個Java的應用程式需要使用JFrame類的例項來提供一個底層容器和作業系統進行互動,當需要一個視窗時,使用JFrame或其子類建立一個物件。視窗也是一個容器,可以向視窗新增元件。需要注意的是,視窗預設被系統新增到顯示器螢幕上,一次不允許講一個視窗新增到另一個容器中。

1_1、WindowMenu建立一個帶視窗的選單

WindowMenu win = new WindowMenu("俄羅斯方塊",200,30,900,1000);

用Java編寫一個最簡單的桌面程式

1_2、選單條、選單、選單項

· 選單條

JComponent類的子類JMenubar負責建立選單條,即JMenubar的一個例項就是一個選單條。JFrame類中有一個將選單條放置到視窗中的方法: setJMenuBar (JMenuBar bar);

· 選單

JComponent類的子類JMenu負責建立選單項,即JMenu的一個例項就是一個選單。

· 選單項

JComponent類的子類JMenuItem負責建立選單項,即JMenuItem的一個例項就是一個選單項。

用Java編寫一個最簡單的桌面程式用Java編寫一個最簡單的桌面程式

2_1、執行效果如下所示

用Java編寫一個最簡單的桌面程式

2_2、原始碼

Tetres_windows.java

/*

* 俄羅斯方塊的窗體

*/

//import javax.swing.*;

//import java.awt.*;

public class Tetres_windows {

public static void main(String[] args) {

WindowMenu win = new WindowMenu("俄羅斯方塊",200,30,900,1000);

}

}

WindowMenu.java

/*

* 俄羅斯方塊的選單

*/

import javax.swing.*;

import java.awt.event.InputEvent;

import java.awt.event.KeyEvent;

import javax.swing.JFrame.*;

public class WindowMenu extends JFrame {

JMenuBar menubar;

JMenu menu0,menu1,menu2,subMenu;

JMenuItem item1,item2,item3;

public WindowMenu(String s,int x,int y,int w,int h) {

init(s);

setLocation(x,y);

setSize(w,h);

setVisible(true);

setDefaultCloseOperation(DISPOSE_ON_CLOSE);

}

void init(String s) {

setTitle(s);

menubar = new JMenuBar();

menu0 = new JMenu("遊戲"); //選單欄的第一個選項

item1 = new JMenuItem("新遊戲(new)");

item2 = new JMenuItem("重新開始");

menu0.add(item1);

menu0.addSeparator(); //設定子選單之間的分割線

menu0.add(item2);

menu0.addSeparator(); //設定子選單之間的分割線

subMenu = new JMenu("難度等級");

menu0.add(subMenu);

subMenu.add(new JMenuItem("初級"));

subMenu.add(new JMenuItem("中級"));

subMenu.add(new JMenuItem("高階"));

menu0.addSeparator();

item3 = new JMenuItem("退出");

menu0.add(item3);

menubar.add(menu0);

menu1 = new JMenu("編輯"); //選單欄的第二個選項

item1 = new JMenuItem("後退一步");

menu1.add(item1);

menu1.addSeparator(); //設定子選單之間的分割線

item2 = new JMenuItem("前進一步");

menu1.add(item2);

menubar.add(menu1);

menu2 = new JMenu("關於");

item1 = new JMenuItem("作者:rwxian");

menu2.add(item1);

menu2.addSeparator();

item2 = new JMenuItem("版本:v1.0");

menu2.add(item2);

menubar.add(menu2);

setJMenuBar(menubar);

}

}

相關文章