1. 程式人生 > >Java Swing實戰(一)JFrame和JTabbedPane容器

Java Swing實戰(一)JFrame和JTabbedPane容器

概述:

專案是一個桌面程式,涉及標籤和按鈕元件、佈局管理器元件、面板元件、列表框和下拉框元件等元件,以及Swing事件處理機制。

下面先從最基礎的介面開始。

/**
 * @author: lishuai
 * @date: 2018/11/26 13:51
 */
public class WeimingSyncApplets {
    public static void main(String[] args) {
        JTabbedPane tabbedPane = buildJTabbedPane(new JPanel(), new JPanel());
        buildFrame(tabbedPane);
    }

    private static JTabbedPane buildJTabbedPane(JComponent... components) {
        // 選項卡面板
        JTabbedPane tabbedPane = new JTabbedPane();
        // 通過BorderFactory來設定邊框的特性
        tabbedPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
        tabbedPane.add("執行任務", components[0]);
        tabbedPane.add("資料來源配置", components[1]);
        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);
    }
}

效果如圖: