效果图如下
参考代码如下
import java.awt.*import java.awt.event.*
import javax.swing.*
public class JCBFrame extends JFrame {
JComboBox<String> jcb
public JCBFrame() {
JPanel jp = new JPanel()
JLabel jl = new JLabel("选择喜欢的水果:")
String[] sg = { "苹果", "香蕉", "桃子", "柑橘" }
jcb = new JComboBox<String>(sg)
jp.add(jl)
jp.add(jcb)
//JComboBox 添加 事件响应器, 当状态发生改变时,进行响应
jcb.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
//当选择发生了改变时,
if (e.getStateChange() == ItemEvent.SELECTED) {
JOptionPane.showMessageDialog(null, "我喜欢"+jcb.getSelectedItem())
}
}
})
add(jp, BorderLayout.NORTH)
setTitle("")
setSize(300, 200)
setLocationRelativeTo(null)
setDefaultCloseOperation(EXIT_ON_CLOSE)
setVisible(true)
}
public static void main(String[] args) {
new JCBFrame()
}
}
在JAVA里面,单机按钮触发的事件类型叫ActionEvent,相应的,有个借口叫ActionListener。
前面需要引入的包我就不写了。
Class Login extends JFrame implements ActionListener{
//这里是你定义的一系列控件
JButton Jb=new JButton()
//初始化
public Login(){
//这一句是添加监听对象的,参数是this,就是类Login本身
Jb.addActionListener(this)
}
//这个函数,因为继承了ActionListener接口,所以必须实现
public void actionPerformed(ActionEvent e){
//至于这个函数参数的问题,要讲就麻烦了,你只要知道就是这么写的
if(e.getSource()==Jb)//这里判断是不是因为登陆按钮触发了这个事件
{
//在这里写你需要的代码,就OK了
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)