999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Java語言程序設計教學中的圖形界面案例的探索和研究

2022-05-30 15:43:24李蔚妍高葵李雨朱紅梅
電腦知識與技術 2022年10期

李蔚妍 高葵 李雨 朱紅梅

摘要:Java語言程序設計中設計圖形界面需要用到很多控件,可以使用javax.swing包和java.awt包中的很多工具來完成具有動態功能的界面設計。該文設計了具體的程序案例,使用了幾種控件如標簽、復選框、單選按鈕、組合框、按鈕、文本框、文本區等,對案例進行了分析和設計,以促進對圖形界面更深入地了解。

關鍵詞:javax.swing;圖形界面;復選框;組合框

中圖分類號:G642? ? ? ? 文獻標識碼:A

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

1 引論

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

2 案例分析

例題1:設計一個有關單選按鈕的程序,程序界面如圖1所示,三個單選按鈕只能選擇其中一個,當選擇其中一個時,在下面的文本框中就顯示出相對應的信息,如圖2所示。

程序分析:

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

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

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

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

代碼編程如下:

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:設計一個具有多種控件的圖形用戶界面,用來顯示愛好、性別、專業的界面程序,如圖3所示,用戶可以通過單選按鈕或復選按鈕和組合框進行數據的選擇。當分別選擇了復選框中的愛好和單選按鈕中的性別和組合框的專業后,點擊“顯示數據”按鈕在文本區中就能顯示出所對應的信息,如圖4所示。

程序分析:

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

(2) 由于界面中控件比較多,為了設計美觀規整,需要對整個容器的布局進行設計,然后在布局中放入相應的各種類型的控件。可以將整個布局設置為1行2列的網格布局,分別將選擇信息放在第1列布局中,顯示信息放在第2列布局中。

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

(4) JP1面板中設計了一個標簽和五個復選框;JP2面板中設計了一個標簽和單選按鈕組;JP3面板中設計了一個標簽和一個組合框;JP4面板中設計了一個按鈕,這樣布局設計出來的程序層次分明、美觀實用。

(5) 當界面需要的控件設計好后,就要考慮程序是否能夠實現動態反應,那便需要編寫事件,在此程序中就需要實現兩個接口,它們分別是ActionListener和ItemListene接口。其中 “顯示數據”按鈕實現的是ActionListener接口,需要覆蓋接口中的抽象方法actionPerformed(ActionEvent arg0)方法[4];復選框“愛好”選項、單選按鈕“性別”選項和組合框“專業”選項實現的是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("專業:");

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

Checkbox w[] = new Checkbox[5];

JRadioButton r[] = new JRadioButton[2];

JComboBox<String> c1;

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

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[] = { "音樂", "美術", "體育", "閱讀", "信息" };

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[] = { ""+ "英語", "法學", "計算機", "中文" };

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"+"專業:" + 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 結束語

本文通過兩個綜合具體的例子,將圖形用戶界面中用到的一些常用控件比如標簽、單選按鈕、復選框、組合框、按鈕、文本框、文本區和接口、事件做了介紹和分析,對于學習圖形界面這一部分的內容能夠起到加強知識的理解和掌握的作用。

參考文獻:

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

[2] 張思民.Java語言程序設計[M].3版.北京:清華大學出版社,2015.

[3] 唐大仕.Java程序設計[M].3版.北京:清華大學出版社,2021.

[4] 郎波.Java語言程序設計[M].4版.北京:清華大學出版社,2021.

[5] 郭克華,劉小翠,唐雅媛.Java程序設計與應用開發[M].北京:清華大學出版社,2018.

【通聯編輯:代影】

收稿日期:2022-02-26

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

主站蜘蛛池模板: 国产AV无码专区亚洲精品网站| 久久99蜜桃精品久久久久小说| 九色在线观看视频| 亚洲永久色| 久久精品人人做人人爽97| 亚洲天堂色色人体| 视频一区亚洲| 精品成人免费自拍视频| 国产呦精品一区二区三区下载| 国产成人免费高清AⅤ| 免费AV在线播放观看18禁强制| 国产亚洲欧美在线视频| 在线免费看片a| 99久久国产综合精品2020| 国产va在线| 青青草国产精品久久久久| 白丝美女办公室高潮喷水视频| 国产一级毛片网站| 亚洲狠狠婷婷综合久久久久| 午夜不卡视频| 九九热免费在线视频| 色综合成人| 亚洲色图欧美激情| 日日噜噜夜夜狠狠视频| 国产电话自拍伊人| 日本精品αv中文字幕| 无码免费视频| 超碰91免费人妻| 国产性爱网站| 欧美在线观看不卡| 精品国产中文一级毛片在线看| 熟妇人妻无乱码中文字幕真矢织江 | AV无码国产在线看岛国岛| 无码AV高清毛片中国一级毛片| 国产资源免费观看| 啪啪啪亚洲无码| 亚洲欧美日韩视频一区| 久久国产高清视频| 99久久精品国产精品亚洲| 亚洲国语自产一区第二页| 萌白酱国产一区二区| 国产成人av一区二区三区| 在线精品亚洲一区二区古装| 欧美亚洲综合免费精品高清在线观看 | 无遮挡一级毛片呦女视频| 国产一区二区视频在线| 亚洲69视频| 精品一区二区三区四区五区| 在线观看免费国产| 无码免费的亚洲视频| 亚洲成A人V欧美综合| 中文字幕亚洲综久久2021| 亚洲 欧美 日韩综合一区| 久久精品中文字幕免费| 国产又爽又黄无遮挡免费观看| 色婷婷在线播放| 五月激激激综合网色播免费| 久热re国产手机在线观看| 99re这里只有国产中文精品国产精品 | 99在线免费播放| 婷婷综合在线观看丁香| 久久成人免费| 国产国产人在线成免费视频狼人色| 爱爱影院18禁免费| 国产精品yjizz视频网一二区| 国产一级毛片yw| 欧美精品啪啪一区二区三区| 好吊色妇女免费视频免费| 午夜国产理论| 亚洲最大情网站在线观看| 黄片在线永久| 色哟哟国产精品| 男女男精品视频| 免费无码AV片在线观看中文| 久久国产精品77777| 国产a在视频线精品视频下载| 97精品久久久大香线焦| 青草精品视频| 91精品国产无线乱码在线| 亚洲成人一区在线| 国产精品女主播| 久久综合九色综合97网|