用Java編寫一個最簡單的桌面程式
使用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);
1_2、選單條、選單、選單項
· 選單條
JComponent類的子類JMenubar負責建立選單條,即JMenubar的一個例項就是一個選單條。JFrame類中有一個將選單條放置到視窗中的方法: setJMenuBar (JMenuBar bar);
· 選單
JComponent類的子類JMenu負責建立選單項,即JMenu的一個例項就是一個選單。
· 選單項
JComponent類的子類JMenuItem負責建立選單項,即JMenuItem的一個例項就是一個選單項。
2_1、執行效果如下所示
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);
}
}
相關文章
- 編寫簡單的Java程式碼:HelloWoridJava
- 一個簡單的BypassUAC編寫
- 用 Go 編寫一個簡單的 WebSocket 推送服務GoWeb
- 使用 Vala 編寫一個簡單的文字識別程式
- 編寫一個簡單的JavaScript模板引擎JavaScript
- 編寫一個簡單的智慧合約
- 編寫一個簡單的babel外掛Babel
- 用 Vue 建立一個簡單的 electron 桌面應用Vue
- 使用 Fuse 和 java 17 編寫一個簡單的檔案系統Java
- 最簡單的Go Dockerfile編寫姿勢,沒有之一!GoDocker
- 最簡單的 Go Dockerfile 編寫姿勢,沒有之一!GoDocker
- Python編寫一個簡單計算器Python
- 用Vue編寫一個簡單的仿Explorer檔案管理器Vue
- 教你如何編寫第一個簡單的爬蟲爬蟲
- 用Flutter 寫一個簡單頁面Flutter
- 用SwiftUI寫一個簡單頁面SwiftUI
- 用C++編寫一個簡單的釋出者和訂閱者C++
- 用C++編寫一個簡單的員工工資管理系統~C++
- 寫一個簡單的程式碼生成器
- 一個最簡單的web componentsWeb
- 寫一個最簡陋的node框架框架
- 用Java程式碼實現一個簡單的聊天室功能Java
- 編寫一個簡易計時器程式(edu)
- Python使用Socket寫一個簡單聊天程式Python
- python+flask 編寫一個簡單的登入介面例子PythonFlask
- python+flask編寫一個簡單的登入介面例子PythonFlask
- 使用Java語言寫的一個簡單的撲克牌發牌程式碼Java
- 【保姆級教程】如何用Rust編寫一個ChatGPT桌面應用RustChatGPT
- 手把手教你手寫一個最簡單的 Spring Boot StarterSpring Boot
- 簡單寫一個eventbus
- 寫一個簡單的 Facade 示例
- Qealler - 一個用Java編寫的惡意病毒軟體Java
- 一個最簡單的 Github workflow 例子Github
- 寫一個最簡陋的node框架(2)框架
- 手把手教你編寫最簡單的效能指令碼指令碼
- [譯]用Golang編寫一個簡易聊天室Golang
- 如何編寫一個簡單但強大的規則引擎? – maxant
- 用java實現一個簡單的區塊鏈Java區塊鏈