欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java詳解Swing中的幾種常用按鈕的使用

 更新時間:2022年04月29日 09:53:54   作者:LNORA  
這篇文章主要介紹了怎么用Java來創(chuàng)建和使用Swing中的幾種常用按鈕,按鈕是我們經常要用的工具,但是你有想過自己怎么去實現(xiàn)它嗎,感興趣的朋友跟隨文章往下看看吧

Swing中的常用按鈕

在Swing中,常見的按鈕組件有JButton,JCheckBox,JRadioButton等,它們都是抽象類AbstractButton類的直接或間接子類。在AbstractButton類中提供了按鈕組件通用的一些方法。

AbstractButton的常用方法

方法描述功能
lcon getlcon()和void setlcon(lcon icon)設置或者獲取按鈕的圖標
String getText()和void setText(String text)設置或者獲取按鈕的文本
void setEnable(boolean b)啟用或者禁用按鈕
setSelected(boolean b)設置按鈕的狀態(tài)為是否選中
boolean isSelected()返回按鈕的狀態(tài)

JRadionButton(單選按鈕)

單選按鈕只能選中一個,當按下一個按鈕的時候,先前按下的按鈕就會彈起,對于單選按鈕來說,當一個按鈕被選中時,先前選中的按鈕就會自動取消選中。

但是單選按鈕本身不具備這種功能,要想實現(xiàn)單選按鈕之間的互斥,需要用java.swing.ButtonGroup類,它是一個不可見的組件,不需要添加在容器中顯示,只在邏輯上表示一個單選按鈕,將多個單選按鈕添加到同一個單選按鈕組對象中,就能實現(xiàn)按鈕的單選功能。

單選按鈕的構造方法

方法描述功能說明
JRadioButton()創(chuàng)建一個沒有文本信息,始終狀態(tài)未被選中的單選框
JRadioButton(String ,text)創(chuàng)建一個帶有文本信息,初始狀態(tài)未被選定的單選框
JRadioButton(String text,boolean selected)創(chuàng)建一個具有文本信息,并指定初始狀態(tài)(選中/未選中)的單選框
 package Swing;
 ?
 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 ?
 public class DanXuan extends JFrame {
     //單選按鈕對象
     private ButtonGroup group;
     //將按鈕放在JPanel面板上
     private JPanel panel;
     //將JPanel作為調色板
     private JPanel pallet;
     public DanXuan(){
         pallet =new JPanel();
         this.add(pallet,BorderLayout.CENTER);
         panel=new JPanel();
         group=new ButtonGroup();
         addJRadioButton("灰");
         addJRadioButton("粉");
         addJRadioButton("黃");
         this.add(panel,BorderLayout.SOUTH);
         this.setSize(300,300);
         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         this.setVisible(true);
     }
     //創(chuàng)建一個帶有文本信息的單選按鈕,將按鈕添加到panel面板和ButtonGroup按鈕組中,并添加一個監(jiān)聽器
     private void addJRadioButton(final String text){
         JRadioButton radioButton=new JRadioButton(text);
         group.add(radioButton);
         panel.add(radioButton);
         radioButton.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
                 Color color=null;
                 if("灰".equals(text)){
                     color=Color.GRAY;
                 }else if("粉".equals(text)){
                     color=Color.PINK;
                 }else if("黃".equals(text)){
                     color=Color.YELLOW;
                 }else {
                     color=Color.WHITE;
                 }
                 pallet.setBackground(color);
             }
         });
     }
     public static void main(String[] args) {
         new DanXUan();
     }
 }

 在一個面板上放置三個按鈕,當單擊這三個不同的按鈕時,pallet面板的背景就會相應的變成灰色,粉色,黃色。先為按鈕設置一個事件監(jiān)聽器,用來響應用戶單擊單選按鈕的操作,在actionPerformed()方法中定義一個Color類型的變量color,并根據方法傳入的text值進行判斷,根據color的值設置pallet的背景顏 

復選框(JCheckBox)

有選中和未選中兩種狀態(tài),如果用戶想要接收的輸入只有是和非,則可以通過復選框來切換狀態(tài),如果復選框有多個,則用戶可以選擇其中一個或則多個。

復選框的構造方法

方法描述功能敘述
JCheckBox()創(chuàng)建一個沒有文本信息,初始狀態(tài)未被選中的復選框
JCheckBox(String text)創(chuàng)建一個帶有文本信息,初始狀態(tài)未被選中的復選框
JCheckBox(String text,boolean selected)創(chuàng)建一個帶有文本信息,并指定初始狀態(tài)的復選框
package Swing;
 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 public class  DuoXuan extends JFrame {
     private  JCheckBox italic;
     private JCheckBox bold;
     private JLabel label;
     public DuoXuan (){
         label=new JLabel("我的世界",JLabel.CENTER);
         label.setFont(new Font("宋體",Font.PLAIN,20));
          Component lable ;
         Label p1 = new Label();
         this.add(p1);
         JPanel panel=new JPanel();
         italic=new JCheckBox("ITALIC");
         bold=new JCheckBox("BOLD");
         ActionListener listener=new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
                 int mode = 0;
                 if(bold.isSelected())
                     mode+=Font.BOLD;
                 if(italic.isSelected())
                     mode+=Font.ITALIC;
                 label.setFont(new Font("宋體",mode,20));
             }
         };
         italic.addActionListener(listener);
         bold.addActionListener(listener);
         panel.add(italic);
         panel.add(bold);
         this.add(panel,BorderLayout.SOUTH);
         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         this.setSize(300,300);
         this.setVisible(true);
     }
     public static void main(String[] args) {
         new DuoXuan ();
     }
 }

組合框(JComboBox)

JComboBox組件被稱為組合框或者下拉列表框,它將所有選擇折疊收藏在一起,默認顯示的是第一個添加的選項,當用戶單擊組合框時,會出現(xiàn)下拉式的選擇列表,用戶可以從中選擇其中一項并顯示。分為可編輯和不可編輯兩種形式,對于不可編輯的組合框,用戶只能在現(xiàn)有的選項列表中進行選擇,對于可編輯的組合框,用戶既可以在現(xiàn)有的選項中進行選擇,還可以自己輸入新的內容,自己輸入的內容只能作為當前項顯示,并不會添加到組合框的選項列表中。

組合框的構造方法

方法描述功能敘述
JComBox()創(chuàng)建一個沒有可選項的組合框
JComboBox(Object[]items)創(chuàng)建一個組合框,將Object數(shù)組中的元素作為組合框的下拉列表選項
JComboBox(Vector items)創(chuàng)建一個組合框,將Vector集合中的元素作為組合框的下拉列表選項

下拉列表框的常用方法

 void addItem(Object anObject)   //將指定的對象作為選項添加到下拉列表框中
 void insertItemAt(Object anObject,int index)    //在下拉列表框中的指定索引處插入項
 void removeltem(0bject anObject)    //在下拉列表框中刪除指定的對象項
 void removeItemAt(int anlndex)  //在下拉列表框中刪除指定位置的對象項
 void removeAllItems()   //從下拉列表框中刪除所有項
 int getItemCount()  //返回下拉列表框中的項數(shù)
 Object getItemAt(int index) //獲取指定索引的列表項,索引從 0 開始
 int getSelectedIndex()  //獲取當前選擇的索引
 Object getSelectedltem()    //獲取當前選擇的項

package Swing;
 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 public class XiaLa extends JFrame {
     //創(chuàng)建一個組合框
     private JComboBox comboBox;
     //創(chuàng)建一個文本框
     private JTextField field;
     public  XiaLa(){
         //創(chuàng)建一個面板
         JPanel panel=new JPanel();
         comboBox=new JComboBox();
         //為組合框添加選項
         comboBox.addItem("請選擇城市");
         comboBox.addItem("駐馬店");
         comboBox.addItem("鄭州");
         comboBox.addItem("開封");
         comboBox.addItem("漯河");
         comboBox.addItem("南陽");
         comboBox.addItem("洛陽");
         comboBox.addItem("濟源");
         comboBox.addItem("商丘");
         comboBox.addItem("新鄉(xiāng)");
         comboBox.addItem("周口");
         comboBox.addItem("信陽");
         comboBox.addItem("三門峽");
         comboBox.addItem("濮陽");
         comboBox.addItem("許昌");
         comboBox.addItem("安陽");
         comboBox.addItem("鶴壁");
         comboBox.addItem("焦作");
         comboBox.addItem("平頂山");
         //為組合框設置事件監(jiān)聽器
         comboBox.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
                 String item =(String) comboBox.getSelectedItem();
                 if("請選擇城市".equals(item)){
                     field.setText("");
 ?
                 }else{
                     field.setText("你選擇的城市是:"+item);
                 }
             }
         });
         field=new JTextField(20);
         panel.add(comboBox);
         panel.add(field);
         //在內容面板中添加JPanel面板
         this.add(panel, BorderLayout.NORTH);
         this.setSize(350,100);
         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         this.setVisible(true);
     }
     public static void main(String[] args) {
         new  XiaLa();
     }
 }

首先為組合框添加一個事件監(jiān)聽器,然后再actionPerformed()方法中,通過調用comboBox的getSelectedItem()方法獲得用戶所選的item,如果為城市名調用filed的setText(item)方法將城市名顯示在文本框中;如果item為"請選擇城市"則將文本框的內容清空。

小結

以上就是我對于Swing中幾種常見按鈕的理解,以便于我們之后在不同開發(fā)中根據不同的情況設置不同的按鈕,提高用戶的體驗感。

到此這篇關于Java詳解Swing中的幾種常用按鈕的使用的文章就介紹到這了,更多相關Java Swing按鈕內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java動態(tài)代理和AOP應用示例

    Java動態(tài)代理和AOP應用示例

    這篇文章主要介紹了Java動態(tài)代理和AOP應用,結合實例形式分析了java動態(tài)代理在AOP面向切面編程中的相關操作技巧與使用注意事項,需要的朋友可以參考下
    2019-07-07
  • 一步步教你整合SSM框架(Spring MVC+Spring+MyBatis)詳細教程

    一步步教你整合SSM框架(Spring MVC+Spring+MyBatis)詳細教程

    使用SSM(Spring、SpringMVC和Mybatis)已經有段時間了,項目在技術上已經沒有什么難點了,基于現(xiàn)有的技術就可以實現(xiàn)想要的功能,下面這篇文章主要給大家介紹了關于整合SSM框架:Spring MVC + Spring + MyBatis的相關資料,需要的朋友可以參考下。
    2017-07-07
  • mybatis中注解與xml配置的對應關系和對比分析

    mybatis中注解與xml配置的對應關系和對比分析

    這篇文章主要介紹了mybatis中注解與xml配置的對應關系和對比分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java中的FutureTask源碼解析

    Java中的FutureTask源碼解析

    這篇文章主要介紹了Java中的FutureTask源碼解析,FutureTask是一個可取消的異步計算,這個類是Future的實現(xiàn)類,有開始和取消一個計算的方法,如果一個計算已經完成可以查看結果,需要的朋友可以參考下
    2023-12-12
  • JAVA 線程通信相關知識匯總

    JAVA 線程通信相關知識匯總

    這篇文章主要介紹了JAVA 線程通信相關知識,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-06-06
  • MyBatis Log 插件無法顯示SQL語句的原因解析

    MyBatis Log 插件無法顯示SQL語句的原因解析

    MyBatis Log是IDEA一款下載量非常高的插件,該插件可以對控制臺打印的日志進行解析,然后將對應的SQL語句整理并拼接好對應的參數(shù),非常方便。這篇文章給大家介紹MyBatis Log 插件無法顯示SQL語句的原因,感興趣的朋友跟隨小編一起看看吧
    2020-09-09
  • 解決SpringCloud Feign傳對象參數(shù)調用失敗的問題

    解決SpringCloud Feign傳對象參數(shù)調用失敗的問題

    這篇文章主要介紹了解決SpringCloud Feign傳對象參數(shù)調用失敗的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • java類訪問權限與成員訪問權限解析

    java類訪問權限與成員訪問權限解析

    這篇文章主要針對java類訪問權限與成員訪問權限進行解析,對類與成員訪問權限進行驗證,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Java中CountDownLatch進行多線程同步詳解及實例代碼

    Java中CountDownLatch進行多線程同步詳解及實例代碼

    這篇文章主要介紹了Java中CountDownLatch進行多線程同步詳解及實例代碼的相關資料,需要的朋友可以參考下
    2017-03-03
  • 利用線程實現(xiàn)動態(tài)顯示系統(tǒng)時間

    利用線程實現(xiàn)動態(tài)顯示系統(tǒng)時間

    編寫Applet小程序,通過在HTML文檔中接收參數(shù),顯示當前的系統(tǒng)時間,需要的朋友可以參考下
    2015-10-10

最新評論