亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java的GUI編程之列表和組合框的設計使用

2019-11-26 14:56:40
字體:
來源:轉載
供稿:網友

列表和組合框是又一類供用戶選擇的界面組件,用于在一組選擇項目選擇,組合框還可以輸入新的選擇。
列表

列表(JList)在界面中表現為列表框,是JList類或它的子類的對象。程序可以在列表框中加入多個文本選擇項條目。列表事件的事件源有兩種:
一是鼠標雙擊某個選項:雙擊選項是動作事件,與該事件相關的接口是ActionListener,注冊監視器的方法是addActionListener(),接口方法是actionPerformed(ActionEvent e)。
二是鼠標單擊某個選項:單擊選項是選項事件,與選項事件相關的接口是ListSelectionListener,注冊監視器的方法是addListSelectionListener,接口方法是valueChanged(ListSelectionEvent e)。

JList 類的常用構造方法:

  • JList():建立一個列表。
  • JList(String list[]):建立列表,list是字符串數組,數組元素是列表的選擇條目。

JList類的常用方法:

  • getSelectedIndex():獲取選項的索引。返回最小的選擇單元索引;只選擇了列表中單個項時,返回該選擇。
  • getSelectedValue():獲取選項的值。
  • getSelectedIndices():返回所選的全部索引的數組(按升序排列)。
  • getSelectedValues(),:返回所有選擇值的數組,根據其列表中的索引順序按升序排序。
  • getItemCount():獲取列表中的條數。
  • setVisibleRowCount(int n):設置列表可見行數。
  • setSelectionMode(int seleMode):設置列表選擇模型。選擇模型有單選和多選兩種。
  • 單選:ListSelectionModel.SINGLE_SELECTION.
  • 多選:ListSelectionModel.MULTIPLE.INTERVAL_SELECTION.
  • remove(int n):從列表的選項菜單中刪除指定索引的選項。
  • removeAll():刪除列表中的全部選項。

列表可以添加滾動條,列表添加滾動條的方法是先創建列表,然后再創建一個JScrollPane滾動面板對象,在創建滾動面板對象時指定列表。以下代碼示意為列表list2添加滾動條:

  JScrollPane jsp = new JScrollPane(list2);

【例】小應用程序有兩個列表,第一個列表只允許單選,第二個列表允許多選。

import java.applet.*;import javax.swing.*;import java.awt.*;import java.awt.event.*;class MyWindow extends JFrame implements ListSelectionListener{  JList list1,list2;  String news[]={"人民日報","新民晚報","浙江日報","文匯報"};  String sports[]={"足球","排球","乒乓球","籃球"};  JTextArea text;  MyWindow(String s){    super(s);    Container con = getContentPane();    con.setBackground(Color.BLUE);    con.setLayout(new GridLayout(2,2));    con.setSize(200,500);    list1 = new JList(news);    list1.setVisibleRowCount(3);    list1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);    list1.addListSelectionListener(this);    list2 = new JList(sports);    list2.setVisibleRowCount(2);    list2.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);    list2.addListSelectionListener(this);    con.add(list1);    con.add(list2);    text= new JTextArea(10,20);    con.add(text);    this.setVisible(true);    this.pack();  }  public void valueChanged(ListSelectionEvent e){// 每當選擇值發生更改時調用    if(e.getSource()==list1){      text.setText(null);      Object listValue = ((JList) e.getSource()).getSelectedValue();      String seleName = listValue.toString();      for(int i=0;i<news.length;i++)        if(news[i].equals(seleName)){          text.append(seleName+ "被選中/n");        }    }    else if(e.getSource()==list2){      text.setText(null);      int tempList[] =list2.getSelectedIndices();      for(int i=0;i<tempList.length;i++)        text.append(sports[tempList[i]] + "被選中/n");     }   } }public class Example6_3 extends Applet{  MyWindow myWin = new MyWindow("列表示例");}

組合框

組合框(JComboBox)是文本框和列表的組合,可以在文本框中輸入選項,也可以單擊下拉按鈕從顯示的列表中進行選擇。

組合框的常用構造方法:

  • JComboBox():建立一個沒有選項的JComboBox對象。
  • JComboBox(JComboBoxModel aModel):用數據模型建立一個JComboBox對象。
  • JComboBox(Object[]items):利用數組對象建立一個JComboBox對象。

組合框的其他常用方法有以下幾個:

  • addItem(Object obj):向組合框加選項。
  • getItemCount():獲取組合框的條目總數。
  • removeItem(Object ob):刪除指定選項。
  • removeItemAt(int index):刪除指定索引的選項。
  • insertItemAt(Object ob,int index):在指定的索引處插入選項。
  • getSelectedIndex():獲取所選項的索引值(從0開始)。
  • getSelectedItem():獲得所選項的內容。
  • setEditable(boolean b):設為可編輯。組合框的默認狀態是不可編輯的,需要調用本方法設定為可編輯,才能響應選擇輸入事件。

在JComboBox對象上發生事件分為兩類。一是用戶選定項目,事件響應程序獲取用戶所選的項目。二是用戶輸入項目后按回車鍵,事件響應程序讀取用戶的輸入。第一類事件的接口是ItemListener;第二類事件是輸入事件,接口是ActionListener。

【例】一個說明組合框用法的應用程序。程序中聲明的組合框子類實現ItemLister接口和ActionListener接口。組合框子類的窗口中設置了一個文本框和一個組合框,組合框中有三個選擇。實現接口的監視方法將組合框的選擇結果在文本框中顯示。

public class Example6_4{  public static void main(String args[]){    ComboBoxDemo mycomboBoxGUI = new ComboBoxDemo();  }}class ComboBoxDemo extends JFrame implements ActionListener,ItemListener{  public static final int Width = 350;  public static final int Height = 150;  String proList[] = { "踢足球","打籃球","打排球" };  JTextField text;  JComboBox comboBox;  public ComboBoxDemo(){    setSize(Width,Height);    setTitle("組合框使用示意程序");    Container conPane = getContentPane();    conPane.setBackground(Color.BLUE);    conPane.setLayout(new FlowLayout());    comboBox = new JComboBox(proList);    comboBox.addActionListener(this);    combobox.addItemListener(this);    comboBox.setEditable(true);//響應鍵盤輸入    conPane.add(comboBox);    text = new JTextField(10);    conPane.add(text);    this.setVisible(true);  }  public void actionPerformed(ActionEvent e){    if(e.getSource()==comboBox)      text.setText(comboBox.getSelectedItem().toString());  }  public void itemStateChanged(ItemEvent e){    if(e.getSource()==comboBox){      text.setText(comboBox.getSelectedItem().toString());    }  }}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩大片免费观看视频播放| 久久中文字幕视频| 性欧美长视频免费观看不卡| 色偷偷噜噜噜亚洲男人| 最近2019免费中文字幕视频三| 欧洲精品毛片网站| 欧美日韩另类在线| 成人福利网站在线观看11| 日本精品视频在线播放| 欧美一级免费视频| 北条麻妃99精品青青久久| 久久久国产成人精品| 国产亚洲精品一区二区| 亚洲黄色av女优在线观看| 国产精品福利久久久| 欧美精品videofree1080p| 久久在线精品视频| 亚洲爱爱爱爱爱| 亚洲欧美中文日韩在线| 久久躁日日躁aaaaxxxx| 成人免费视频a| 久久综合国产精品台湾中文娱乐网| 亚洲成人黄色在线| 在线视频精品一| 亚洲精品自拍第一页| 91在线无精精品一区二区| 欧美日韩在线免费| 欧美激情一区二区三区成人| 久久久久成人精品| 欧美日韩在线影院| 欧美亚洲激情在线| 中文字幕一区二区三区电影| 国产精品美女久久久久久免费| 亚洲欧美日韩国产中文专区| 国产精品流白浆视频| 日韩成人在线视频观看| 国产69久久精品成人| 欧美综合在线观看| 91影视免费在线观看| 97在线免费视频| 国产精品成人aaaaa网站| 国产精品老女人精品视频| 亚洲日韩欧美视频一区| 日韩电影免费观看中文字幕| 55夜色66夜色国产精品视频| 亚洲最新av在线网站| 在线性视频日韩欧美| 亚洲性生活视频| 亚洲电影免费观看高清完整版在线| 国内精品小视频在线观看| 亚洲欧美日韩中文在线制服| 久久99精品国产99久久6尤物| 色www亚洲国产张柏芝| 欧美又大又粗又长| 亚洲一区www| 日韩一区av在线| 欧美性在线视频| 国产精品狠色婷| 欧美一区二区三区四区在线| 欧美激情国产日韩精品一区18| 一区二区三区四区精品| 中文字幕久久久av一区| 久久精品电影网| 91精品美女在线| 高跟丝袜欧美一区| 成人中文字幕+乱码+中文字幕| 亚洲大胆美女视频| 精品福利一区二区| 亚洲美女av电影| 国产亚洲欧美日韩美女| 九九综合九九综合| 亚洲国产成人精品电影| 亚洲精品suv精品一区二区| 日韩av一区二区在线| 日韩在线视频中文字幕| 91九色国产视频| 欧美日韩国产一区中文午夜| 97av在线影院| 欧美在线视频观看免费网站| 久久亚洲私人国产精品va| 免费av在线一区| 亚洲国产高清福利视频| 午夜精品在线观看| 欧美精品久久久久久久久久| 日韩在线观看免费av| 九九精品在线视频| 欧美成人激情图片网| 91系列在线观看| 国内伊人久久久久久网站视频| 国产成人福利网站| 亚洲高清福利视频| 国产成人在线视频| 91九色视频导航| 欧美中文字幕视频在线观看| 91系列在线播放| 欧美激情网站在线观看| 亚洲第一男人av| 久久人人爽人人爽人人片av高清| 日韩精品视频免费在线观看| 91av在线免费观看视频| 欧美一级在线亚洲天堂| 日韩免费在线观看视频| 成人av.网址在线网站| 亚洲成人黄色网址| 国产在线播放不卡| 91久久久久久久久| 欧美性少妇18aaaa视频| 91亚洲精品久久久久久久久久久久| 欧美激情精品在线| 一区二区亚洲精品国产| 欧美黑人视频一区| 91精品视频免费| 中文字幕在线日韩| 欧美日韩国产影院| 岛国视频午夜一区免费在线观看| 97成人超碰免| 午夜精品一区二区三区在线视频| 午夜美女久久久久爽久久| 中文字幕欧美日韩| 久久av红桃一区二区小说| 91免费电影网站| 亚洲欧美在线x视频| 欧美国产第一页| 成人中文字幕在线观看| 最近2019好看的中文字幕免费| 精品少妇一区二区30p| 国产精品久久久久久av福利软件| 91免费看国产| 国产精品99久久久久久人| 国产91在线播放九色快色| 91国语精品自产拍在线观看性色| 亚洲免费电影一区| 欧美极品xxxx| 亚洲精品一区中文字幕乱码| 国产成人综合亚洲| 成人久久久久爱| 欧美超级免费视 在线| 在线视频日本亚洲性| 久久男人资源视频| 日韩一二三在线视频播| 日韩中文字幕av| 久久av中文字幕| 美女啪啪无遮挡免费久久网站| 亚洲精品中文字| 韩国三级电影久久久久久| 久久视频在线看| 社区色欧美激情 | 日韩高清av在线| 欧美色欧美亚洲高清在线视频| 在线观看欧美日韩| 亚洲娇小xxxx欧美娇小| 亚洲国产成人av在线| 91免费福利视频| 欧美高清在线视频观看不卡| 日韩成人黄色av| 国产欧美一区二区| 亚洲成avwww人| 久久综合网hezyo| 欧美精品少妇videofree| 国产婷婷97碰碰久久人人蜜臀| 成人激情在线观看| 国产精品99久久99久久久二8| 国产精品久久久久一区二区| 国产91对白在线播放|