首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

跟著學 Java Swing 遊戲開發 (一):界面佈局與容器

     編輯:Java 程式設計入門

Swing vs AWT

  • AWT:重量級元件,依賴本地平台,跨平台外觀不一。
  • Swing:輕量級元件,純 Java 實作,所有平台外觀一致,類別以 J 開頭 (JButton, JPanel...)。

頂層容器

繪圖基礎容器,三種:

  • JFrame:視窗應用程式主框架。
  • JDialog:對話框。
  • JApplet:嵌入網頁的 Applet (已淘汰)。
public class KyodaiUI extends JFrame { ... }

元件分類

  • 容器元件:可包含其他元件,如 JPanel, JTabbedPane, JScrollPane。頂層容器也是容器,但不能被其他容器包含。
  • 非容器元件:JButton, JLabel, JTextField 等。
  • 加入元件:container.add(component)。

佈局管理器

佈局特點適用場景
BorderLayout五大區域:North, South, East, West, Center主視窗整體結構
GridLayout棋盤狀等分格子計算機按鍵盤、棋盤
FlowLayout依加入順序左右排列,自動換行工具列、簡單表單

實戰:連連看主視窗佈局

三區域:頂部工具列、右側互動區、中間遊戲區 → BorderLayout 最適合。

public KyodaiUI() {
  setSize(780, 500);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setResizable(false);
  setTitle("連連看");

  JPanel toolBar = new JPanel();
  toolBar.setBackground(Color.WHITE);
  toolBar.setPreferredSize(new Dimension(780, 48));

  JPanel actionPanel = new JPanel();
  actionPanel.setBackground(Color.YELLOW);
  actionPanel.setPreferredSize(new Dimension(160, 380));

  JPanel contentPanel = new JPanel();
  contentPanel.setBackground(Color.BLUE);
  contentPanel.setPreferredSize(new Dimension(620, 380));

  getContentPane().add(toolBar, BorderLayout.NORTH);
  getContentPane().add(actionPanel, BorderLayout.EAST);
  getContentPane().add(contentPanel, BorderLayout.CENTER);
}

關鍵差異:Swing 中必須用 getContentPane().add(...) 加入元件,而非直接 add(...) (AWT 允許)。

下一步預告

後續將實作工具列選單、遊戲區棋盤佈局 (GridLayout)、互動區元件、遊戲邏輯與動畫。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved