概述:
項目是一個桌面程式,涉及标簽和按鈕元件、布局管理器元件、面闆元件、清單框和下拉框元件等元件,以及Swing事件處理機制。
下面先從最基礎的界面開始。
public class WeimingSyncApplets {
public static void main(String[] args) {
// 面闆元件
JPanel taskPanel = new JPanel();
JPanel dbPanel = new JPanel();
JTabbedPane tabbedPane = buildJTabbedPane(taskPanel, dbPanel);
buildFrame(tabbedPane);
}
private static JTabbedPane buildJTabbedPane(JPanel taskPanel, JPanel dbPanel) {
// 頁籤面闆
JTabbedPane tabbedPane = new JTabbedPane();
// 通過BorderFactory來設定邊框的特性
tabbedPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
tabbedPane.add("執行任務", taskPanel);
tabbedPane.add("資料源配置", dbPanel);
return tabbedPane;
}
private static void buildFrame(JComponent component) {
// 窗體容器
JFrame frame = new JFrame("資料同步工具");
frame.add(component);
// JFrame.EXIT_ON_CLOSE 退出
// JFrame.HIDE_ON_CLOSE 最小化隐藏
frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
// 設定布局
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(BorderLayout.CENTER, component);
// 設定視窗最小尺寸
frame.setMinimumSize(new Dimension(1060, 560));
// 調整此視窗的大小,以适合其子元件的首選大小和布局
frame.pack();
// 設定視窗相對于指定元件的位置
frame.setLocationRelativeTo(null);
frame.setVisible(true);
// 設定視窗尺寸是否固定不變
frame.setResizable(true);
}
}
效果如圖: