java代码触发事件 java定时触发

java按钮触发事件问题可以使用按钮单击事件,改变其它组件的状态 , 例如下面是一个计数器的例子:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Demo7 extends JFrame {
private int count = 1;
public Demo7() {
this.setSize(600, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setLayout(new FlowLayout());
JLabel label = new JLabel(String.valueOf(count));
this.add(label);
JButton button = new JButton("Click Me!");
// 按钮单击事件,改变 Label 显示文本
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
count++;
label.setText(String.valueOf(count));
}}
);
this.add(button);
}
public static void main(String[] args) {
new Demo7().setVisible(true);
}
}
java 自定义事件的触发及监听JAVA事件响应机制
1java代码触发事件,先自定义一个事件
public class MyEvent extends java.util.EventObject{
public MyEvent(Object source)
{
super(source);
}
}
2java代码触发事件,再自定义一个监听器
public class MyListener implements java.util.EventListener{
//这里是当事件发生后java代码触发事件的响应过程
public void EventActivated(MyEvent me)
{
System.out.println("事件已经被触发");
}
}
3java代码触发事件 , 以下这个类为触发事件的事件源
public class MyObject {
private Vector vectorListeners=new Vector();
public synchronized void addMyListener(MyListener ml)
{
vectorListeners.addElement(ml);
}
public synchronized void removeMyListener(MyListener ml)
{
vectorListeners.removeElement(ml);
}
protected void activateMyEvent()
{
Vector tempVector=null;
MyEvent e=new MyEvent(this);
synchronized(this)
{
tempVector=(Vector)vectorListeners.clone();
for(int i=0;itempVector.size();i++)
{
MyListener ml=(MyListener)tempVector.elementAt(i);
ml.EventActivated(e);
}
}
}
//定义一个公用方法用于触发事件
public void test()
{
activateMyEvent();
}
}
4 , 测试类
public class Test {
public static void main(String[] args)
{
MyObject mo=new MyObject();
//注册该事件
mo.addMyListener(new MyListener());
//触发该事件
mo.test();
}
}
关于java中的事件触发问题: 为什么按下键盘并释放的时候KeyReleased方法没有被调用,代码如下:你写错事件了 , 是实现keylistener事件不是继承那个adapter类
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class Test
{
JTextFieldtext1;
JTextFieldtext2;
public Test()
{
JFrame frame = new JFrame();
Container contain = frame.getContentPane();
text1 = new JTextField(10);
text2 = new JTextField(10);
MyKeyEvent e = new MyKeyEvent();
text1.addKeyListener(e);
contain.setLayout(new FlowLayout());
contain.add(text1);
contain.add(text2);
text1.setFocusable(true);
frame.pack();
frame.setVisible(true);
}
class MyKeyEvent implements KeyListener
{
@Override
public void keyTyped(KeyEvent e)
{
}
@Override
public void keyPressed(KeyEvent e)
{
}
@Override
public void keyReleased(KeyEvent e)
{
System.out.println(e.getKeyChar());

推荐阅读