欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

14、Java Swing星座选择器界面的实现

发布时间:2025/3/20 java 28 豆豆
生活随笔 收集整理的这篇文章主要介绍了 14、Java Swing星座选择器界面的实现 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在了解各种基本组件的使用,以及常见事件的处理之后,

本案例将综合文本框、按钮和下拉列表组件,实现一个星座选择器程序。

程序允许用户在下拉列表中选择一个自己的星座,如果不在列表中还可以增加星座,也可以删除星座。实现过程如下。

(1) 创建一个 SampeDemo 类,在 main() 方法中调用它的构造方法。代码如下:

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class SampeDemo {public static void main(String[] args){new SampeDemo(); //调用构造方法} }

(2) 创建 SampeDemo 构造方法完成窗口的创建,按钮和下拉列表的添加,以及相应事件的监听。具体代码如下:

private JPanel panel=new JPanel(); private JComboBox cmb=new JComboBox(); //创建JComboBox private JLabel label=new JLabel("添加新星座:"); private JLabel showInfo=new JLabel(); //用于显示信息 private JTextField jtf=new JTextField(16); //用于输入信息 private JButton buttonAdd=new JButton("新增"); private JButton buttonDel=new JButton("删除"); public SampeDemo() {JFrame frame=new JFrame("选择你的星座");cmb.addItem("--请选择--"); //向下拉列表中添加一项cmb.addItem("巨蟹座");cmb.addItem("狮子座");cmb.addItem("双鱼座");panel.add(cmb);panel.add(label);panel.add(jtf);panel.add(buttonAdd);panel.add(buttonDel);frame.add(panel);buttonAdd.addActionListener(new MyActionListener()); //“添加”按钮的事件buttonDel.addActionListener(new MyActionListener()); //“删除”按钮的事件cmb.addItemListener(new MyItemListener()); //下拉列表的事件frame.setBounds(300,200,600,200);frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }

上述程序创建的下拉列表为 cmb,调用它的 addItem() 方法向其中添加了两个选项。程序分别监听了按下“新增”按钮和“删除”按钮时的单击事件,以及从下拉列表中选择项时的选中事件。

(3) 创建 MyItemListener 类,实现 ItemListener 接口对选中事件进行处理,此时将选中项显示到文本框中。实现代码如下:

// 监听选中事件 class MyItemListener implements ItemListener {@Overridepublic void itemStateChanged(ItemEvent e){String str=e.getItem().toString();panel.add(showInfo);showInfo.setText("您选择的星座是:"+str);} }

(4) 创建 MyActionListener 类,实现 ActionListener 接口对按钮的单击事件进行处理。实现代码如下:

// 监听添加和删除按钮事件 class MyActionListener implements ActionListener {@Overridepublic void actionPerformed(ActionEvent e){String command=e.getActionCommand();//添加按钮处理if(command.equals("新增")){if(jtf.getText().length()!=0){cmb.addItem(jtf.getText()); //添加项panel.add(showInfo);showInfo.setText("添加成功,新增了:"+jtf.getText());}else{panel.add(showInfo);showInfo.setText("请输入要添加星座");}}//删除按钮处理if(command.equals("删除")){if(cmb.getSelectedIndex()!=-1){//先获得要删除的项的值String strDel=cmb.getSelectedItem().toString();cmb.removeItem(strDel); //删除项panel.add(showInfo);showInfo.setText("删除成功,删除了:"+strDel);}else{panel.add(showInfo);showInfo.setText("请选择要删除的星座");}}} }

完整代码:

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener;import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField;public class Test extends JFrame {private JPanel panel=new JPanel();//面板private JComboBox cmb=new JComboBox();//下拉列表private JLabel label=new JLabel("添加新星座:");private JLabel showInfo=new JLabel();//标签,用于显示信息private JTextField jtf=new JTextField(16);//单行文本框,用于输入信息private JButton buttonAdd=new JButton("新增");private JButton buttonDel=new JButton("删除");public Test(){JFrame frame=new JFrame("选择你的星座");cmb.addItem("水瓶座");cmb.addItem("仙女座");cmb.addItem("巨蟹座");cmb.addItem("白羊座");cmb.addItem("北斗七星座");cmb.addItem("老幼弱残座");cmb.addItem("水泥座");panel.add(cmb);panel.add(label);panel.add(jtf);panel.add(buttonAdd);panel.add(buttonDel);frame.add(panel);buttonAdd.addActionListener(new MyActionListener());//“添加”按钮事件buttonDel.addActionListener(new MyActionListener());//"删除"按钮事件cmb.addItemListener(new MyItemListener());//下拉列表事件frame.setBounds(300,200,600,200);frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}//监听选中事件class MyItemListener implements ItemListener{@Overridepublic void itemStateChanged(ItemEvent e) {String str=e.getItem().toString();panel.add(showInfo);showInfo.setText("您选择的星座是"+str);}}//监听添加和删除按钮事件class MyActionListener implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {String command=e.getActionCommand();//添加按钮处理if(command.equals("新增")){if(jtf.getText().length()!=0){cmb.addItem(jtf.getText());panel.add(showInfo);showInfo.setText("添加成功,新增了"+jtf.getText());}else{panel.add(showInfo);showInfo.setText("请输入要添加星座");}}//删除按钮处理if(command.equals("删除")){if(cmb.getSelectedIndex()!=-1){//先获得要删除的值String strDel=cmb.getSelectedItem().toString();cmb.removeItem(strDel);panel.add(showInfo);showInfo.setText("删除成功"+strDel);}else{panel.add(showInfo);showInfo.setText("请选择要删除的星座");}}}}public static void main(String[] args) {new Test();}}

(5) 运行程序,在下拉列表中会出现 4 个选项,选择其中的“狮子座”项,此时显示效果如图 1 所示。


(6) 从下拉列表中选择“狮子座”项,再单击“删除”按钮即可删除该项,如图 2 所示。

(7) 在文本框中输入要添加的项并单击“新增”按钮,在下拉列表中将出现添加的项。图 3 所示为添加“处女座”后的效果。

总结

以上是生活随笔为你收集整理的14、Java Swing星座选择器界面的实现的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。