亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Java語言程序設(shè)計(jì)教學(xué)中的圖形界面案例的探索和研究

        2022-05-30 15:43:24李蔚妍高葵李雨朱紅梅
        電腦知識與技術(shù) 2022年10期
        關(guān)鍵詞:圖形界面復(fù)選框

        李蔚妍 高葵 李雨 朱紅梅

        摘要:Java語言程序設(shè)計(jì)中設(shè)計(jì)圖形界面需要用到很多控件,可以使用javax.swing包和java.awt包中的很多工具來完成具有動(dòng)態(tài)功能的界面設(shè)計(jì)。該文設(shè)計(jì)了具體的程序案例,使用了幾種控件如標(biāo)簽、復(fù)選框、單選按鈕、組合框、按鈕、文本框、文本區(qū)等,對案例進(jìn)行了分析和設(shè)計(jì),以促進(jìn)對圖形界面更深入地了解。

        關(guān)鍵詞:javax.swing;圖形界面;復(fù)選框;組合框

        中圖分類號:G642? ? ? ? 文獻(xiàn)標(biāo)識碼:A

        文章編號:1009-3044(2022)10-0142-03

        1 引論

        在Java語言程序設(shè)計(jì)中可以設(shè)計(jì)圖形用戶界面,界面的設(shè)計(jì)需要使用到容器、布局和很多控件等工具,還需要響應(yīng)某些事件,對不同控件的使用以及響應(yīng)的事件所實(shí)現(xiàn)的接口需要熟練掌握。本文通過兩個(gè)實(shí)際案例來分析設(shè)計(jì)具有多控件的圖形界面并給出具體的代碼實(shí)現(xiàn),以加強(qiáng)大家對此部分知識的理解。

        2 案例分析

        例題1:設(shè)計(jì)一個(gè)有關(guān)單選按鈕的程序,程序界面如圖1所示,三個(gè)單選按鈕只能選擇其中一個(gè),當(dāng)選擇其中一個(gè)時(shí),在下面的文本框中就顯示出相對應(yīng)的信息,如圖2所示。

        程序分析:

        (1) 首先要選擇好容器,使用的容器是JFrame容器,設(shè)計(jì)的類要繼承JFrame容器。

        (2) 在容器中需要設(shè)計(jì)一個(gè)標(biāo)簽、三個(gè)單選按鈕、一個(gè)文本框,需要設(shè)計(jì)容器的布局將這些組件對象依次存放,可以使用流布局FlowLayout,組件在容器中居中對齊。

        (3) 單選按鈕使用的工具是JRadioButton類,三個(gè)單選按鈕要互斥選擇,就需要將它們放到一個(gè)按鈕組中,如 ButtonGroup group=new ButtonGroup();在該按鈕組中依次添加三個(gè)單選按鈕[1-2]。

        (4) 當(dāng)單擊單選按鈕中的某一個(gè)時(shí),需要做出動(dòng)作響應(yīng),編寫事件,編寫事件需要添加接口,在該程序中使用的是ActionListener接口,需要覆蓋接口中的抽象方法actionPerformed(ActionEvent arg0)方法[3],在該方法中設(shè)計(jì)程序代碼,實(shí)現(xiàn)在文本框中顯示相對應(yīng)的信息。

        代碼編程如下:

        import javax.swing.*;

        import javax.swing.JRadioButton;

        import java.awt.*;

        import java.awt.event.*;

        public? class JRadioButton1 extends JFrame implements ActionListener

        {JLabel lab1=new JLabel("選擇");

        JTextField jt1=new JTextField(20);

        JRadioButton jr1=new JRadioButton("紅豆");

        JRadioButton jr2=new JRadioButton("綠豆");

        JRadioButton jr3=new JRadioButton("黃豆");

        public JRadioButton1()

        {JFrame pp=new JFrame("JRadioButton");

        pp.setSize(400,200);

        pp.setLocation(200,400);

        ButtonGroup group=new ButtonGroup();

        group.add(jr1);

        group.add(jr2);

        group.add(jr3);

        pp.add(lab1);

        pp.add(jr1);

        pp.add(jr2);

        pp.add(jr3);

        pp.add(jt1);

        pp.setLayout(new FlowLayout());

        jr1.addActionListener(this);

        jr2.addActionListener(this);

        jr3.addActionListener(this);

        pp.setVisible(true);

        }

        public void actionPerformed (ActionEvent w)

        {if(w.getSource()==jr1)

        {jt1.setText("你選擇了"+jr1.getText());

        }

        if(w.getSource()==jr2)

        {jt1.setText("你選擇了"+jr2.getText());

        }

        if(w.getSource()==jr3)

        {jt1.setText("你選擇了"+jr3.getText());

        }}

        public static void main(String args[])

        {JRadioButton1 m=new JRadioButton1();

        }}

        例題2:設(shè)計(jì)一個(gè)具有多種控件的圖形用戶界面,用來顯示愛好、性別、專業(yè)的界面程序,如圖3所示,用戶可以通過單選按鈕或復(fù)選按鈕和組合框進(jìn)行數(shù)據(jù)的選擇。當(dāng)分別選擇了復(fù)選框中的愛好和單選按鈕中的性別和組合框的專業(yè)后,點(diǎn)擊“顯示數(shù)據(jù)”按鈕在文本區(qū)中就能顯示出所對應(yīng)的信息,如圖4所示。

        程序分析:

        (1) 設(shè)計(jì)這樣一個(gè)圖形界面首先要設(shè)計(jì)好容器,使用的容器是JFrame容器,設(shè)計(jì)的類要繼承JFrame容器。

        (2) 由于界面中控件比較多,為了設(shè)計(jì)美觀規(guī)整,需要對整個(gè)容器的布局進(jìn)行設(shè)計(jì),然后在布局中放入相應(yīng)的各種類型的控件??梢詫⒄麄€(gè)布局設(shè)置為1行2列的網(wǎng)格布局,分別將選擇信息放在第1列布局中,顯示信息放在第2列布局中。

        (3) 第1列布局中設(shè)計(jì)一個(gè)面板JP用來存放若干控件,第2列中設(shè)計(jì)一個(gè)面板jpr用來存放多個(gè)控件。左邊面板JP又設(shè)計(jì)為4行1列的網(wǎng)格布局,在JP面板中每一行都是一個(gè)小型的面板,分別是JP1、JP2、JP3、JP4面板。在右邊的面板jpr中設(shè)計(jì)一個(gè)標(biāo)簽和一個(gè)文本區(qū)。

        (4) JP1面板中設(shè)計(jì)了一個(gè)標(biāo)簽和五個(gè)復(fù)選框;JP2面板中設(shè)計(jì)了一個(gè)標(biāo)簽和單選按鈕組;JP3面板中設(shè)計(jì)了一個(gè)標(biāo)簽和一個(gè)組合框;JP4面板中設(shè)計(jì)了一個(gè)按鈕,這樣布局設(shè)計(jì)出來的程序?qū)哟畏置鳌⒚烙^實(shí)用。

        (5) 當(dāng)界面需要的控件設(shè)計(jì)好后,就要考慮程序是否能夠?qū)崿F(xiàn)動(dòng)態(tài)反應(yīng),那便需要編寫事件,在此程序中就需要實(shí)現(xiàn)兩個(gè)接口,它們分別是ActionListener和ItemListene接口。其中 “顯示數(shù)據(jù)”按鈕實(shí)現(xiàn)的是ActionListener接口,需要覆蓋接口中的抽象方法actionPerformed(ActionEvent arg0)方法[4];復(fù)選框“愛好”選項(xiàng)、單選按鈕“性別”選項(xiàng)和組合框“專業(yè)”選項(xiàng)實(shí)現(xiàn)的是ItemListene接口,需要覆蓋接口中的itemStateChanged(ItemEvent arg0)方法[5]。

        代碼編程如下:

        import java.awt.*;

        import java.awt.event.*;

        import javax.swing.*;

        public class zongheti extends JFrame implements ItemListener,ActionListener

        {JLabel l1 = new JLabel("愛好:");

        JLabel l2 = new JLabel("性別:");

        JLabel l3 = new JLabel("專業(yè):");

        JLabel l4 = new JLabel("選中的數(shù)據(jù):");

        Checkbox w[] = new Checkbox[5];

        JRadioButton r[] = new JRadioButton[2];

        JComboBox<String> c1;

        JButton jb1=new JButton("顯示數(shù)據(jù)");;

        JTextArea TA1=new JTextArea();;

        String[] aihao= new String[5];

        String xingbie;

        String zhuanye;

        public zongheti() {

        JFrame e=new JFrame("綜合例題");

        e.setSize(650, 200);

        e.setLayout(new GridLayout(1, 2, 4, 4));

        GridLayout g1=new GridLayout(4, 1, 5, 5);

        FlowLayout f1=new FlowLayout(FlowLayout.LEFT);

        JPanel JP = new JPanel(g1);

        JPanel JP1 = new JPanel(f1);

        JP1.add(l1);

        String ah[] = { "音樂", "美術(shù)", "體育", "閱讀", "信息" };

        for (int i = 0; i < 5; ++i) {

        w[i] = new Checkbox(ah[i]);

        JP1.add(w[i]);

        w[i].addItemListener(this);

        }

        JP.add(JP1);

        FlowLayout f2=new FlowLayout(FlowLayout.LEFT);

        JPanel JP2 = new JPanel(f2);

        String xb[] = { "男", "女" };

        ButtonGroup g = new ButtonGroup();

        JP2.add(l2);

        for (int i = 0; i < 2; ++i)

        {

        r[i] = new JRadioButton(xb[i]);

        g.add(r[i]);

        JP2.add(r[i]);

        r[i].addItemListener(this);

        }

        JP.add(JP2);

        FlowLayout f3=new FlowLayout(FlowLayout.LEFT);

        JPanel JP3 = new JPanel(f3);

        String s1[] = { ""+ "英語", "法學(xué)", "計(jì)算機(jī)", "中文" };

        c1 = new JComboBox<String>(s1);

        JP3.add(l3);

        JP3.add(c1);

        JP.add(JP3);

        c1.setEditable(true);

        c1.addItemListener(this);

        c1.addActionListener(this);

        FlowLayout f4=new FlowLayout(FlowLayout.LEFT);

        JPanel JP4 = new JPanel(f4);

        JP4.add(jb1);

        JP.add(JP4);

        jb1.addActionListener(this);

        e.add(JP);

        GridLayout g2=new GridLayout(1, 2, 5, 5);

        FlowLayout f5=new FlowLayout(FlowLayout.RIGHT);

        JPanel jpr = new JPanel(g2);

        JPanel JP5 = new JPanel(f5);

        JP5.add(l4);

        jpr.add(JP5);

        jpr.add(TA1);

        e.add(jpr);

        e.setVisible(true);

        for (int i = 0; i < 5; ++i)

        {

        aihao[i] = "";

        }}

        public void actionPerformed (ActionEvent m)

        {

        if (m.getSource() == jb1)

        {

        TA1.setText("愛好:");

        for (int t = 0; t < 5; ++t)

        {

        TA1.append(aihao[t] + "? ");

        }

        TA1.append("\n"+"性別:" + xingbie);

        TA1.append("\n"+"專業(yè):" + zhuanye);

        }}

        public void itemStateChanged (ItemEvent n)

        {

        for (int t = 0; t < 5; ++t)

        {

        if (n.getSource() == w[t])

        {

        if (w[t].getState() == true)

        {

        aihao[t] = w[t].getLabel();

        }

        else {aihao[t] = "";

        }

        }}

        for (int t = 0; t < 2; ++t)

        {

        if (n.getSource() == r[t] && r[t].isSelected() == true)

        {

        xingbie = r[t].getText();

        }}

        if (n.getSource() == c1)

        {

        zhuanye = c1.getSelectedItem().toString();

        }}

        public static void main(String[] args)

        {

        zongheti ss = new zongheti();

        }}

        3 結(jié)束語

        本文通過兩個(gè)綜合具體的例子,將圖形用戶界面中用到的一些常用控件比如標(biāo)簽、單選按鈕、復(fù)選框、組合框、按鈕、文本框、文本區(qū)和接口、事件做了介紹和分析,對于學(xué)習(xí)圖形界面這一部分的內(nèi)容能夠起到加強(qiáng)知識的理解和掌握的作用。

        參考文獻(xiàn):

        [1] 張繼軍.Java程序設(shè)計(jì)[M].北京:中國水利水電出版社,2019.

        [2] 張思民.Java語言程序設(shè)計(jì)[M].3版.北京:清華大學(xué)出版社,2015.

        [3] 唐大仕.Java程序設(shè)計(jì)[M].3版.北京:清華大學(xué)出版社,2021.

        [4] 郎波.Java語言程序設(shè)計(jì)[M].4版.北京:清華大學(xué)出版社,2021.

        [5] 郭克華,劉小翠,唐雅媛.Java程序設(shè)計(jì)與應(yīng)用開發(fā)[M].北京:清華大學(xué)出版社,2018.

        【通聯(lián)編輯:代影】

        收稿日期:2022-02-26

        作者簡介:李蔚妍(1975—) ,女,山東農(nóng)業(yè)大學(xué)副教授,碩士研究生;高葵(1978—) , 女,山東農(nóng)業(yè)大學(xué)講師,碩士研究生;李雨(1970—) ,女,山東農(nóng)業(yè)大學(xué)講師,碩士研究生;朱紅梅(1971—) ,女,山東農(nóng)業(yè)大學(xué)副教授,博士研究生。

        猜你喜歡
        圖形界面復(fù)選框
        Epigallocatechin-3-gallate exerts antihypertensive effects and improves endothelial function in spontaneously hypertensive rats
        用好復(fù)選框 Excel條件求和更簡單
        電腦愛好者(2020年9期)2020-07-05 03:17:34
        制作具有自動(dòng)計(jì)算功能的選購單
        電腦愛好者(2020年5期)2020-05-11 06:04:47
        Excel中突顯對比圖表數(shù)據(jù)
        電腦愛好者(2020年5期)2020-05-11 06:04:47
        再多也不亂 制作按需顯示的折線圖
        電腦愛好者(2018年2期)2018-01-31 19:07:26
        一表顯示多表動(dòng)態(tài)對比圖
        用VMRun快速置備千臺虛擬機(jī)
        基于JavaFX的應(yīng)用系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        重看圖形界面“扁平化”與“擬物化”之爭——關(guān)于設(shè)計(jì)思維的探討
        VxWorks系統(tǒng)下基于WindML的窗口化圖形界面設(shè)計(jì)
        精品无码av不卡一区二区三区| 亚洲国产精品日本无码网站| 天堂中文最新版在线中文| 成人免费网站视频www| 人妻少妇无码中文幕久久| 国产免费一区二区三区在线视频| 国产精华液一区二区三区| а√资源新版在线天堂| 国产亚洲一本大道中文在线| 国产亚洲一区二区三区三州| 国产免费在线观看不卡| 精品国产拍国产天天人| 国产激情电影综合在线看| 日本成人免费一区二区三区 | 人人爽久久久噜人人看| 国产成人啪精品视频免费软件| 国产精品玖玖玖在线资源| av是男人的天堂免费| 久久久久99人妻一区二区三区| 日本少妇被黑人xxxxx| 正在播放淫亚洲| 亚洲av日韩精品一区二区| 午夜爽爽爽男女免费观看影院| 国产在线精品一区二区| 中文字幕av无码一区二区三区电影 | 新视觉亚洲三区二区一区理伦| 欧美成人秋霞久久aa片| 夜夜爽一区二区三区精品| 狠狠躁夜夜躁人人爽天天不卡| 日本在线观看一二三区| а天堂中文最新一区二区三区| 三上悠亚免费一区二区在线| 亚洲一区二区精品在线看| 精品一区三区视频在线观看| 欧美日韩国产成人高清视频| 麻豆密入视频在线观看| 日本一区二区三级免费| 国产福利永久在线视频无毒不卡| 国产精品国语对白露脸在线播放| 亚洲成av人片在线天堂无| 亚洲一区二区三区中国|