詳解如何使用Java寫出圖形化的窗口
視窗是GUI程式設計的基礎,小型應用程式或圖形介面的應用程式的視覺元件都放在視窗中,在GUI中,視窗是使用者螢幕的一部分,起著在螢幕中一個小螢幕的作用。有以下三種視窗:
Applet視窗:Applet類別管理這個窗口,當應用程式啟動時,由系統建立和處理;
框架視窗(JFrame):這是通常意義上的窗口,它支援視窗週邊的框架、標題欄,以及最小化、最大化和關閉按鈕;
一種無邊框視窗(JWindow):沒有標題欄,沒有框架,只是一個空的矩形。
用Swing中的JFrame類別或它的子類別所建立的物件就是JFrame視窗。
JFrame類別的主要建構方法:
JFrame():建立無標題的視窗物件;
JFrame(String s):建立一個標題名稱是字串s的視窗物件。
JFrame類別的其他常用方法:
setBounds(int x,int y,int width,int height):參數x,y指定視窗出現在螢幕的位置;參數width,height指定視窗的寬度和高度。單位是像素。
setSize(int width,int height):設定視窗的大小,參數width和height指定視窗的寬度和高度,單位是像素。
setBackground(Color c):以參數 c設定視窗的背景顏色。
setVisible(boolean b):參數b設定視窗是可見或不可見。 JFrame預設是不可見的。
pack():以緊湊方式顯示視窗。如果不使用該方法,視窗初始出現時可能看不到視窗中的元件,當使用者調整視窗的大小時,可能才能看到這些元件。
setTitle(String name):以參數name設定視窗的名字。
getTitle():取得視窗的名字。
setResiable(boolean m):設定目前視窗是否可調整大小(預設可調整大小)。
Swing裡的容器都可以加入元件,除了JPanel及其子類別(JApplet)之外,其他的Swing容器不允許把元件直接加入。其他容器新增元件有兩種方法:
一種是用getContentPane()方法取得內容面板,再將元件加入。例如,範例5.1程式中的程式碼:
mw.getContentPane().add(button);
這個程式碼的意義是取得容器的內容面板,並將按鈕button加入到這個內容面板中。
另一種是建立一個JPanel物件的中間容器,把元件加入這個容器中,再用setContentPane()把這個容器置為內容面板。例如,代碼:
JPanel contentPane = new JPanel(); … mw.setContentPane(contentPane);
以上程式碼把contentPane置成內容面板。
【例】一個用JFrame類別建立視窗的Java應用程式。視窗只有一個按鈕。
import javax.swing.*; public class Example5_1{ public static void main(String args[]){ JFrame mw = new JFrame(“我的第一个窗口”); mw.setSize(250,200); JButton button = new JButton(“我是一个按钮”); mw.getContentPane().add(button); mw.setVisible(true); } }
用Swing 編寫GUI程序時,通常不直接用JFrame創建窗口對象,而用JFrame派生的子類創建窗口對象,在子類中可以加入窗口的特定要求和特別的內容等。
【例】定義JFrame派生的子類別MyWindowDemo建立JFrame視窗。類別MyWindowDemo的建構方法有五個參數:視窗的標題名,加放視窗的元件,視窗的背景顏色以及視窗的高度和寬度。在主方法中,利用類別MyWindowDemo建立兩個類似的視窗。
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Example5_2{ public static MyWindowDemo mw1; public static MyWindowDemo mw2; public static void main(String args[]){ JButton static butt1 = new JButton(“我是一个按钮”); String name1 = “我的第一个窗口”; String name2 = “我的第二个窗口”; mw1 = new MyWindowDemo(name1,butt1,Color.blue,350,450); mw1.setVisible(true); JButton butt2 = new JButton(“我是另一个按钮”); mw2 = new MyWindowDemo(name2,butt2,Color.magenta,300,400); mw2.setVisible(true); } } class MyWindowDemo extends JFrame{ public MyWindowDemo(String name,JButton button,Color c,int w,int h){ super(); setTitle(name); setSize(w,h); Container con = getContentPane(); con.add(button); con.setBackground(c); } }
顯示顏色由java.awt套件的Color類別管理,在Color類中預定了一些常用的顏色,參見表11-3。 JFrame類別的部分常用方法請參考下表。
Color 類別中定義的常用顏色
JFrame 類別的部分常用方法
更多詳解如何使用Java編寫圖形化的中文視窗相關文章請關注PHPPHPPH網!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Java 8引入了Stream API,提供了一種強大且表達力豐富的處理數據集合的方式。然而,使用Stream時,一個常見問題是:如何從forEach操作中中斷或返回? 傳統循環允許提前中斷或返回,但Stream的forEach方法並不直接支持這種方式。本文將解釋原因,並探討在Stream處理系統中實現提前終止的替代方法。 延伸閱讀: Java Stream API改進 理解Stream forEach forEach方法是一個終端操作,它對Stream中的每個元素執行一個操作。它的設計意圖是處

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP和Python各有優勢,適合不同場景。 1.PHP適用於web開發,提供內置web服務器和豐富函數庫。 2.Python適合數據科學和機器學習,語法簡潔且有強大標準庫。選擇時應根據項目需求決定。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP成為許多網站首選技術棧的原因包括其易用性、強大社區支持和廣泛應用。 1)易於學習和使用,適合初學者。 2)擁有龐大的開發者社區,資源豐富。 3)廣泛應用於WordPress、Drupal等平台。 4)與Web服務器緊密集成,簡化開發部署。

PHP適用於Web開發和內容管理系統,Python適合數據科學、機器學習和自動化腳本。 1.PHP在構建快速、可擴展的網站和應用程序方面表現出色,常用於WordPress等CMS。 2.Python在數據科學和機器學習領域表現卓越,擁有豐富的庫如NumPy和TensorFlow。
