日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

JavaGUI中的JComboBox的处理

發布時間:2024/9/27 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaGUI中的JComboBox的处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JComboBox的事件處理

JComboBox的事件處理亦可分為兩種,一種是取得用戶選取的項目;另一種是用戶在JComboBox上自行輸入完畢后按下[Enter],

????運作相對應的工作。對于第一種事件的處理,我們使用ItemListener.對于第二種事件的處理,我們使用ActionListener.

這個范例用戶可以選取所要的字號,字號的變化會呈現在JLabel上,并可讓用戶自行輸入字體的大小。當用戶按下[Enter]鍵后?,若用戶輸入的值不在選項上時,此輸入值會增加至JComboBox中,并將輸入字體的大小顯示在JLabel上。

<pre?class="code">import?java.awt.*;

import?java.awt.event.*;

import?javax.swing.*;

public?class?JComboBox8?implements?ItemListener,ActionListener{

?? String[]?fontsize={"12","14","16","18","20","22","24","26","28"};

?? String?defaultMessage="請選擇或直接輸入文字大小!";

?? Font?font=null;

?? JComboBox?combo=null;

?? JLabel?label=null;

??

?? public?JComboBox8(){

?? ??JFrame?f=new?JFrame("JComboBox");

?? ??Container?contentPane=f.getContentPane();

?? ??contentPane.setLayout(new?GridLayout(2,1));

?? ??label=new?JLabel("Swing",JLabel.CENTER);

?? ??font=new?Font("SansSerif",Font.PLAIN,12);

?? ??label.setFont(font);

?? ??

?? ??combo=new?JComboBox(fontsize);

?? ??combo.setBorder(BorderFactory.createTitledBorder("請選擇你要的文字大小:"));

?? ??combo.setEditable(true);

?? ??ComboBoxEditor?editor=combo.getEditor();

?? ??combo.configureEditor(editor,defaultMessage);

?? ??combo.addItemListener(this);0

?? ??combo.addActionListener(this);

?? ??

?? ??contentPane.add(label);

?? ??contentPane.add(combo);

??????f.pack();

??????f.show();

??????f.addWindowListener(new?WindowAdapter(){

???? public?void?windowClosing(WindowEvent?e){

???? ??System.exit(0);

???? }

??????});???

?? }

???public?static?void?main(String[]?args){

??? ?new?JComboBox8();

???}

???public?void?actionPerformed(ActionEvent?e){

??? ??boolean?isaddItem=true;

??? ??int?fontsize=0;

??? ??String?tmp=(String)combo.getSelectedItem();

??? ??//判斷用戶所輸入的項目是否有重復,若有重復則不增加到JComboBox中。

??? ??try{

??? ?? ??fontsize=Integer.parseInt(tmp);

??? ?? ??for(int?i=0;i<?combo.getItemCount();i++){

??? ?? ?? ??if?(combo.getItemAt(i).equals(tmp)){

??? ?? ?? ?? ?isaddItem=false;

??? ?? ?? ?? ?break;

??? ?? ?? ??}

??? ?? ??}

??? ?? ??if?(isaddItem){

??? ?? ?? combo.insertItemAt(tmp,0);//插入項目tmp0索引位置(第一列中).

??? ?? ??}

??? ?? ??font=new?Font("SansSerif",Font.PLAIN,fontsize);

??? ?? ??label.setFont(font);??? ?? ??

??? ??}catch(NumberFormatException?ne){

??? ?? ??combo.getEditor().setItem("你輸入的值不是整數值,請重新輸入!");

??? ??}

???}

???public?void?itemStateChanged(ItemEvent?e){//ItemListener界面只有itemStateChanged()一個方法,在此實作它。

??? ??if?(e.getStateChange()==ItemEvent.SELECTED){//當用戶的選擇改變時,則在JLabel上會顯示出Swing目前字形大小信息.

??? ?? ??int?fontsize=0;

??? ?? ??try{

??? ?? ?? ?fontsize=Integer.parseInt((String)e.getItem());

??? ?? ?? ?label.setText("Swing?目前字形大小:"+fontsize);??? ?? ?? ?

??? ?? ??}catch(NumberFormatException?ne){//若所輸入的值不是整數,則不作任何的操作.

??? ?? ??

??? ?? ??}

??? ??}

???}

}

?

?

?

?

?

import?java.awt.*;

import?java.awt.event.*;

import?javax.swing.*;??

???

public?class?testFrame?extends?JFrame?implements?ItemListener

{??

?JComboBox?comboBox;

???JPanel?p=new?JPanel();?

?JButton?c;

?JButton?c2?;

??public?testFrame()

??{

?JButton?c=new?JButton("a")?;

?JButton?c2=new?JButton("b")?;

comboBox=new?JComboBox();

?comboBox.addItem("1");

?comboBox.addItem("2");

?comboBox.addItem("3");

?comboBox.addItemListener(this);

?p.add(?comboBox);

?????this.getContentPane().add(p);??

??

????this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);??

????this.setSize(360,?260);??

????this.setVisible(true);??

?}??

??

?public?void?itemStateChanged(ItemEvent?e)

?{

???????if(e.getStateChange()?==?ItemEvent.SELECTED)

????????????{

? ????????????String?s=(String)comboBox.getSelectedItem();

???????????????? System.out.println(s);

?????????????}

}??

?public?static?void?main(String?args[])?

?{??

??new?testFrame();??

?}??

??

}??

?

總結

以上是生活随笔為你收集整理的JavaGUI中的JComboBox的处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。