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

Java Swing 實作風景名勝查詢系統:從登入介面到主查詢視窗

     編輯:Java 相關知識

專案概述

本文展示一個基於 Java Swing 的「風景名勝查詢系統」完整原始碼範例。系統包含使用者登入驗證與主查詢視窗兩大核心模組,示範了 Swing 元件佈局、事件處理、JDBC 資料庫連線以及多視窗切換等實用技巧。

登入視窗實作細節

Login 類別繼承 JFrame 並實作 ActionListener,建立包含使用者名稱、密碼、驗證碼輸入欄位的登入介面。版面採用 GridLayout(6,1) 垂直堆疊六個面板,分別放置標題、帳號、密碼、驗證碼圖片按鈕、功能按鈕(確定、註冊、退出)與空白填充區。

驗證碼圖片透過 ImageIcon 載入本地路徑 E:\\U盤文件\\100PHOTO.jpeg,實務上建議改為類別路徑資源以利部署。按鈕事件在 actionPerformed 統一處理:

  • 確定:載入 SQL Server JDBC 驅動,以 Windows 整合驗證連線 wulei 資料庫,查詢 stuinf 資料表逐筆比對帳號密碼。若比對成功顯示「登入成功」並開啟 LandScape 主視窗;失敗或例外時同樣開啟主視窗(原碼邏輯為測試用)。
  • 退出:呼叫 dispose() 關閉視窗。

資源關閉於 finally 區塊逐一釋放 ResultSet、Statement、Connection,符合基本資源管理原則。

主查詢視窗架構

LandScape 類別同樣繼承 JFrame 實作 ActionListener。視窗分為上下兩大區塊:

  • 上半部:GridLayout(3,1) 包含標題列、查詢條件列(省市名、旅行月份、旺淡季提示)、景點資訊列(景點名、門票單價、價格浮動說明)。
  • 下半部:左側 JTextArea 顯示詳細資訊;右側 GridLayout(6,2) 排列旅客類型單選鈕(老人、學生、小孩、成人)與對應人數輸入框,以及「提交」、「退出」按鈕。

目前 actionPerformed 為空實作,需依業務補充查詢、試算邏輯。

程式碼優化建議

  1. 資料庫憑證外部化:將連線字串、帳密移至設定檔或環境變數。
  2. 參數化查詢:以 PreparedStatement 取代字串拼接,防止 SQL Injection。
  3. 密碼加密:資料庫不應存明文密碼,建議採用 BCrypt 或 PBKDF2 雜湊。
  4. 驗證碼機制:改為動態生成圖形驗證碼或 Google reCAPTCHA。
  5. 執行緒分離:資料庫操作移至背景執行緒(SwingWorker),避免阻塞 EDT 導致介面凍結。
  6. 視窗關閉行為:設定 setDefaultCloseOperation 明確控制程式結束邏輯。

完整程式碼結構

package 風景名勝查詢系統;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;

class Login extends JFrame implements ActionListener { ... }
public class LandScape extends JFrame implements ActionListener { ... }

啟動入口為 LandScape.main() → new Login(),適合作為 Swing 入門教學與快速原型開發參考。

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