5.Java-GUI常見組件


 面板(Panel)

面板也是一個容器的組件,可以在上面添加

 

注意:面板不能單獨使用,必須在頂層窗口中使用。

 常見組件

一些常用的組件例如:

JLabel,

JButton ,

JTextField

JPassworldField

JRadioButton

JCheckBox

JTextArea

JList

JMenuBar

JMenu

JMenultem

 

Button按鈕

Java中的Swing提供了常規按鈕,單選按鈕,復選按鈕和菜單按鈕

JButtion普通按鈕

按鈕Button是點擊時觸發動作事件的組件.

JRadioButton單選按鈕

單選按鈕,可以讓用戶從一組選項中選擇一個單一條目.例如性別.

使用單選按鈕時注意將,單選按鈕放在一組,需要使用java.swing.ButtonGroup. 的add方法,添加到一個組中,位於同一個組的單選按鈕就是互斥的. 如果沒有將單選按鈕放在一個組中,就是獨立的..我們讓然需要把按鈕添加在容器中.因為ButtonGroup添加到容器中..

JCheckBox復選框

多選

JLabel標簽

JTextField文本域

JTextArea文本區域

JComboBox組合框

 JList 列表框

例如: String[] data = { "one", "two", "three" };

      JList list = new JList(data);

      p1.add(list);

JmenuBar菜單條

JMenu菜單

JMenultem菜單項

菜單條(MenuBar)中包含菜單(Menu),菜單中中包含菜單項(MenuItem)

注意添加的順序。例如:記事本的菜單條中包含文件、編輯、格式、查看、幫助菜單。其中文件菜單中包含新建、打開、保存、另存為等菜單項

案例綜合。

public class CommonComponent extends JFrame {
    public CommonComponent() {

        // 面板
        JPanel p1 = new JPanel();
        add(p1);

        // 標簽
        JLabel name = new JLabel("用戶名:");
        p1.add(name);

        // 文本域
        JTextField field = new JTextField(8);
        p1.add(field);

        // 標簽
        JLabel passwd = new JLabel("密碼");
        p1.add(passwd);
        // 密碼域
        JPasswordField pass = new JPasswordField(8);
        p1.add(pass);

        // 單選按鈕
        JLabel gender = new JLabel("性別");
        p1.add(gender);
        JRadioButton male = new JRadioButton("男");
        JRadioButton female = new JRadioButton("女");
        // 單選按鈕組,同一個單選按鈕組的互斥.
        ButtonGroup group = new ButtonGroup();
        group.add(male);
        group.add(female);
        // 注意,單選按鈕組不能添加進容器
        p1.add(male);
        p1.add(female);

        // 復選框
        JLabel like = new JLabel("愛好:");
        p1.add(like);
        JCheckBox eat = new JCheckBox("吃飯");
        JCheckBox movie = new JCheckBox("看電影");
        JCheckBox sleep = new JCheckBox("睡覺");
        p1.add(eat);
        p1.add(movie);
        p1.add(sleep);

        // 文本域
        JLabel info = new JLabel("個人簡介");
        p1.add(info);
        JTextArea area = new JTextArea(20, 20);
        p1.add(area);

        // 列表
        String[] data = { "one", "two", "three" };
        JList list = new JList(data);
        p1.add(list);

        // 普通按鈕
        JButton button = new JButton("注冊");
        p1.add(button);

        // 菜單條
        JMenuBar bar = new JMenuBar();
        // 菜單
        JMenu menu = new JMenu("文件");
        // 菜單選項
        JMenuItem myNew = new JMenuItem("新建");
        JMenuItem myOpen = new JMenuItem("打開");
        bar.add(menu);
        menu.add(myNew);
        menu.add(myOpen);
        add(bar, BorderLayout.NORTH);

    }

    public static void main(String[] args) {
        CommonComponent frame = new CommonComponent();
        frame.setTitle("常用組件");
        frame.setSize(400, 400);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 自適應
        frame.pack();
        frame.setVisible(true);
    }
}

樣式如下:

因為面板默認是流式布局

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM