JCombobox和ActionListener ItemListener.docx
- 文档编号:25585591
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:9
- 大小:150.62KB
JCombobox和ActionListener ItemListener.docx
《JCombobox和ActionListener ItemListener.docx》由会员分享,可在线阅读,更多相关《JCombobox和ActionListener ItemListener.docx(9页珍藏版)》请在冰豆网上搜索。
JCombobox和ActionListenerItemListener
实验八事件处理
实验目的:
掌握ActionListener和ItemListener以及为图片添加按钮,以及下拉列表的应用。
实验一
1.实验题目:
在一个容器中设置加,减,乘,除四个按钮,并设置两个文本域,在这两个文本域中分别输入两个数字,并按加,减,乘,除四个按钮中的一个,在第三个文本域中显示出结果
2.实验代码:
packageCalculator;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.*;
publicclassCalculatorExample
{
publicstaticvoidmain(Stringargs[])
{
finalJFrameframe=newJFrame();
frame.setBounds(400,400,400,400);
frame.setVisible(true);
frame.setLayout(null);
//添加加减乘除按钮
finalJButtonaddbutton=newJButton("加法");
addbutton.setBounds(10,10,60,30);
frame.add(addbutton);
finalJButtonsubductionbutton=newJButton("减法");
subductionbutton.setBounds(80,10,60,30);
frame.add(subductionbutton);
finalJButtonmultiplybutton=newJButton("乘法");
multiplybutton.setBounds(150,10,60,30);
frame.add(multiplybutton);
finalJButtondivisionbutton=newJButton("除法");
divisionbutton.setBounds(220,10,60,30);
frame.add(divisionbutton);
//添加两个文本域输入两个数
finalJTextFieldtextfield1=newJTextField();
finalJTextFieldtextfield2=newJTextField();
finalJTextFieldtextfield3=newJTextField();
textfield1.setBounds(30,50,100,30);
textfield2.setBounds(140,50,100,30);
textfield3.setBounds(60,100,100,30);
frame.add(textfield1);
frame.add(textfield2);
frame.add(textfield3);
frame.validate();
//加法运算
addbutton.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEvente)
{
try
{
intinteger1=Integer.parseInt(textfield1.getText());
intinteger2=Integer.parseInt(textfield2.getText());
if(e.getSource()==addbutton)
{
inti=integer1+integer2;
textfield3.setText(String.valueOf(i));
}
}
catch(Exceptionex)
{
textfield3.setText("输入不是数字");
}
}
}
);
subductionbutton.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEvente)
{
try
{
intinteger1=Integer.parseInt(textfield1.getText());
intinteger2=Integer.parseInt(textfield2.getText());
if(e.getSource()==subductionbutton)
{
inti=integer1-integer2;
textfield3.setText(String.valueOf(i));
}
}
catch(Exceptionex)
{
textfield3.setText("输入不是数字");
}
}
}
);
multiplybutton.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEvente)
{
try
{
intinteger1=Integer.parseInt(textfield1.getText());
intinteger2=Integer.parseInt(textfield2.getText());
if(e.getSource()==multiplybutton)
{
inti=integer1*integer2;
textfield3.setText(String.valueOf(i));
}
}
catch(Exceptionex)
{
textfield3.setText("输入不是数字");
}
}
}
);
divisionbutton.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEvente)
{
try
{
intinteger1=Integer.parseInt(textfield1.getText());
intinteger2=Integer.parseInt(textfield2.getText());
if(e.getSource()==divisionbutton)
{
inti=integer1/integer2;
textfield3.setText(String.valueOf(i));
}
}
catch(Exceptionex)
{
textfield3.setText("输入不是数字");
}
}
}
);
}
}
3.编译结果
实验二
1.实验题目:
在一个下拉列表中选其中一个,在容器的中央显示一个图片按钮
2.实验代码:
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
import.URL;
publicclasszhouqianyuan
{
publicstaticvoidmain(Stringargs[])
{
finalJFrameframe=newJFrame();
frame.setBounds(300,300,500,500);
frame.setVisible(true);
//下拉列表
finalIconicon[]=newIcon[3];
URLur1=IconExample.class.getResource("a.jpg");
URLur2=IconExample.class.getResource("b.jpg");
URLur3=IconExample.class.getResource("c.jpg");
icon[0]=newImageIcon(ur1);
icon[1]=newImageIcon(ur2);
icon[2]=newImageIcon(ur3);
JComboBoxlist=newJComboBox();
finalStringstr[]={"第一张图片","第二张图片","第三张图片"};
list.addItem("第一张图片");
list.addItem("第二张图片");
list.addItem("第三张图片");
frame.add(list,BorderLayout.NORTH);
//往按钮上添加图片时,应先把按钮添加到容器中,再监听
finalJButtonbutton=newJButton();
frame.add(button,BorderLayout.CENTER);
list.addItemListener(newItemListener()
{
publicvoiditemStateChanged(ItemEvente)
{
for(inti=0;i<3;i++)
{
if(e.getItem().toString().equals(str[i]))
{
//getSelectedItem().toString()返回一个字符串,getSelectedItem()返回一个对象。
button.setIcon(icon[i]);
button.setVisible(true);
}
}
}
}
);
}
}
3.编译结果
实验总结
通过多次问老师,同学以及在自己不断的寻找错误并改正错误,我终于把图片导入成功了,通过这次实验,让我明白了贵在坚持。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JCombobox和ActionListener ItemListener JCombobox ActionListener