> 文档中心 > 【Swing中的几种常用按钮】

【Swing中的几种常用按钮】

目录

Swing中的常用按钮

AbstractButton的常用方法

JRadionButton(单选按钮)

单选按钮的构造方法

复选框(JCheckBox)

复选框的构造方法

组合框(JComboBox)

组合框的构造方法

下拉列表框的常用方法


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) 设置按钮的状态为是否选中
boolean isSelected() 返回按钮的状态

JRadionButton(单选按钮)

单选按钮只能选中一个,当按下一个按钮的时候,先前按下的按钮就会弹起,对于单选按钮来说,当一个按钮被选中时,先前选中的按钮就会自动取消选中。

但是单选按钮本身不具备这种功能,要想实现单选按钮之间的互斥,需要用java.swing.ButtonGroup类,它是一个不可见的组件,不需要添加在容器中显示,只在逻辑上表示一个单选按钮,将多个单选按钮添加到同一个单选按钮组对象中,就能实现按钮的单选功能。

单选按钮的构造方法

方法描述 功能说明
JRadioButton() 创建一个没有文本信息,始终状态未被选中的单选框
JRadioButton(String ,text) 创建一个带有文本信息,初始状态未被选定的单选框
JRadioButton(String text,boolean selected) 创建一个具有文本信息,并指定初始状态(选中/未选中)的单选框
 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);     }     //创建一个带有文本信息的单选按钮,将按钮添加到panel面板和ButtonGroup按钮组中,并添加一个监听器     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面板的背景就会相应的变成灰色,粉色,黄色。先为按钮设置一个事件监听器,用来响应用户单击单选按钮的操作,在actionPerformed()方法中定义一个Color类型的变量color,并根据方法传入的text值进行判断,根据color的值设置pallet的背景颜 

复选框(JCheckBox)

有选中和未选中两种状态,如果用户想要接收的输入只有是和非,则可以通过复选框来切换状态,如果复选框有多个,则用户可以选择其中一个或则多个。

复选框的构造方法

方法描述 功能叙述
JCheckBox() 创建一个没有文本信息,初始状态未被选中的复选框
JCheckBox(String text) 创建一个带有文本信息,初始状态未被选中的复选框
JCheckBox(String text,boolean selected) 创建一个带有文本信息,并指定初始状态的复选框
 
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组件被称为组合框或者下拉列表框,它将所有选择折叠收藏在一起,默认显示的是第一个添加的选项,当用户单击组合框时,会出现下拉式的选择列表,用户可以从中选择其中一项并显示。分为可编辑和不可编辑两种形式,对于不可编辑的组合框,用户只能在现有的选项列表中进行选择,对于可编辑的组合框,用户既可以在现有的选项中进行选择,还可以自己输入新的内容,自己输入的内容只能作为当前项显示,并不会添加到组合框的选项列表中。

组合框的构造方法

方法描述 功能叙述
JComBox() 创建一个没有可选项的组合框
JComboBox(Object[]items) 创建一个组合框,将Object数组中的元素作为组合框的下拉列表选项
JComboBox(Vector items) 创建一个组合框,将Vector集合中的元素作为组合框的下拉列表选项

下拉列表框的常用方法

 void addItem(Object anObject)   //将指定的对象作为选项添加到下拉列表框中 void insertItemAt(Object anObject,int index)    //在下拉列表框中的指定索引处插入项 void removeltem(0bject anObject)    //在下拉列表框中删除指定的对象项 void removeItemAt(int anlndex)  //在下拉列表框中删除指定位置的对象项 void removeAllItems()   //从下拉列表框中删除所有项 int getItemCount()  //返回下拉列表框中的项数 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 {     //创建一个组合框     private JComboBox comboBox;     //创建一个文本框     private JTextField field;     public  XiaLa(){         //创建一个面板         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("新乡");         comboBox.addItem("周口");         comboBox.addItem("信阳");         comboBox.addItem("三门峡");         comboBox.addItem("濮阳");         comboBox.addItem("许昌");         comboBox.addItem("安阳");         comboBox.addItem("鹤壁");         comboBox.addItem("焦作");         comboBox.addItem("平顶山");         //为组合框设置事件监听器         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();     } }

首先为组合框添加一个事件监听器,然后再actionPerformed()方法中,通过调用comboBox的getSelectedItem()方法获得用户所选的item,如果为城市名调用filed的setText(item)方法将城市名显示在文本框中;如果item为"请选择城市"则将文本框的内容清空。

⛵小结
以上就是我对于Swing中几种常见按钮的理解,以便于我们之后在不同开发中根据不同的情况设置不同的按钮,提高用户的体验感。

如果这篇【文章】有帮助到你,希望可以点个赞👍,创作不易,如果有对【Java基础】【后端技术】、【数据结构】【Linux操作系统】感兴趣的小可爱,也欢迎关注 【LNORA】,对【算法设计与分析】感兴趣的可以免费订阅【算法设计与分析】的专栏,如果我的文章有帮助到你,麻烦来个一键三连奥,这将是对我莫大的鼓励,我将为大家带来更加优质的文章!我们可以一起进步,每天进步一点点,我将会给你带来巨大的【收获与惊喜】💝💝!
 

【Swing中的几种常用按钮】 创作挑战赛 【Swing中的几种常用按钮】 新人创作奖励来咯,坚持创作打卡瓜分现金大奖佳庆纺织毛巾批发中心