当前位置:首页 » 编程语言 » java事件触发

java事件触发

发布时间: 2022-08-19 16:42:18

java按钮触发事件问题

可以使用按钮单击事件,改变其它组件的状态,例如下面是一个计数器的例子:

importjava.awt.FlowLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;

importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;

publicclassDemo7extendsJFrame{

privateintcount=1;

publicDemo7(){

this.setSize(600,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setLayout(newFlowLayout());

JLabellabel=newJLabel(String.valueOf(count));
this.add(label);

JButtonbutton=newJButton("ClickMe!");

//按钮单击事件,改变Label显示文本
button.addActionListener(newActionListener(){

@Override
publicvoidactionPerformed(ActionEventarg0){

count++;
label.setText(String.valueOf(count));
}}
);
this.add(button);


}

publicstaticvoidmain(String[]args){

newDemo7().setVisible(true);

}

}

㈡ java自定义事件,线程a如何每一秒钟触发一个事件,然后另一个线程b监听之,并作出反应

线程a是作为事件源,那么线程a这个类就必须提供一个可以增加监听器的方法,就像GUI编程中的addActionListener这个样的方法。线程a这个类里面是有一个专门存放监听器的一个容器,例如是list。然后你 增加监听器的方法就是把监听器放进这个容器里面。你用一个监听器去监听一个事件的发生,就可以在线程a这个类中,写一个产生事件的一段代码,然后每当产生一个事件之后,去遍历list,去调用监听器的对于这个事件的处理方法,这样子就可以了。这应该就是java中的事件模式。

㈢ Java NIO 事件触发问题

  1. 关于读的触发:利用多线程,在while(true)块中,调用 socket的readLine(),一有数据就会读了。

  2. 至于写,是人为触发的,比如按了回车键以后,调用socket.write().

㈣ JAVA 键盘事件触发问题

你没有API吗?下面是java API对KeyEvent的解释: getKeyChar 方法总是返回有效的 Unicode 字符或 CHAR_UNDEFINED。KEY_TYPED 事件报告字符输入:KEY_PRESSED 和 KEY_RELEASED 事件不必与字符输入关联。因此, 可以保证 getKeyChar 方法的结果只对 KEY_TYPED 事件有意义。 对于按下键和释放键事件,getKeyCode 方法返回该事件的 keyCode。对于键入键事件,getKeyCode 方法总是返回 VK_UNDEFINED。 “按下键”和“释放键”事件 是低级别事件,依赖于平台和键盘布局。只要按下或释放键就生成这些事件,它们是发现不生成字符输入的键(如动作键、修改键等等)的惟一方式。通过 getKeyCode 方法可指出按下或释放的键,该方法返回一个虚拟键码。 虚拟键码 用于报告按下了键盘上的哪个键,而不是一次或多次键击组合生成的字符(如 "A" 是由 shift + "a" 生成的)。 例如,按下 Shift 键会生成 keyCode 为 VK_SHIFT 的 KEY_PRESSED 事件,而按下 'a' 键将生成 keyCode 为 VK_A 的 KEY_PRESSED 事件。释放 'a' 键后,会激发 keyCode 为 VK_A 的 KEY_RELEASED 事件。另外,还会生成一个 keyChar 值为 'A' 的 KEY_TYPED 事件。 按下和释放键盘上的键会导致(依次)生成以下键事件: KEY_PRESSED KEY_TYPED(只在可生成有效 Unicode 字符时产生。) 但在某些情况下(例如,在激活自动重复或输入方法时),该顺序可能会有所不同(并且与平台有关)。

㈤ 怎么样让JAVA 设置一秒钟触发一个事件

你的代码我不看了..长......
具体参考java.util.Timer类和java.util.TimerTask

TimerTask是一个虚类要实现里面的run方法,run方法就是你时间到了以后要执行的方法.

送你一个蒸鸡蛋的例子
import java.util.Timer;
import java.util.TimerTask;
public class EggTimer {
private final Timer timer = new Timer();
private final int minutes;
public EggTimer(int minutes) {
this.minutes = minutes;
}
public void start() {
timer.schele(new TimerTask() {
public void run() {
playSound();
timer.cancel();
}
private void playSound() {
System.out.println("Your egg is ready!");
// Start a new thread to play a sound...
}
}, minutes * 60 * 1000);
}
public static void main(String[] args) {
EggTimer eggTimer = new EggTimer(2);
eggTimer.start();
}
}
可以帖出去看看的...

㈥ JAVA,如何使下拉菜单被点击后触发事件

你可以给大菜单一个BOOL
bL变量,再给要选择的小菜单一个BOOL
bs变量,
如果bl
==
TRUE
&&
bs
==
TRUE,那就是点击了,如果bl
==
TRUE
&&
bs
==
FALSE
,就是没有点击。
或者你试试这个:给想监视的菜单添加ON_UPDATE_COMMAND_UI命令,如果它被点击了,则会有一些操作在这里执行

㈦ 如何实现让Java Label控件触发事件

之前远标老师教过,你看下下面写的行不行
1、现在我需要在一个label控件上定义一个点击事件,打开产生一个新的浏览器窗口。
2、Java JDK中的Label 类本身并不提供事件处理的方法,但应该注意到它是Component类的子类,从而可以通过如下的方法来完成,同时应该处理mouse事件较符合要求。
3、源程序的代码如下:(已经调试通过)
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.net.*;
public class Applet1 extends Applet implements MouseListener
{
Canvas cv;
public void init()
{
initForm();
}
private final Label clickLabel = new Label("hello");
private URL url;
public void mouseClicked(MouseEvent e)
{
try
{
if(e.getSource() == clickLabel)
{
url = new URL("http://www.yahoo.com");
getAppletContext().showDocument(url,"new");
}
}
catch(MalformedURLException exc)
{
this.showStatus("Invalid URL: " + url);
}
}
public void mousePressed(MouseEvent e)
{
}
public void mouseReleased(MouseEvent e)
{
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
void initForm()
{
clickLabel.addMouseListener(this);
this.add(clickLabel);
}
}

㈧ 关于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());
}
}
public static void main(String args[])
{
Test test = new Test();
}
}

㈨ java 自定义事件的触发及监听

JAVA事件响应机制

1,先自定义一个事件

public class MyEvent extends java.util.EventObject{
public MyEvent(Object source)
{
super(source);
}
}

2,再自定义一个监听器

public class MyListener implements java.util.EventListener{
//这里是当事件发生后的响应过程
public void EventActivated(MyEvent me)
{
System.out.println("事件已经被触发");
}
}

3,以下这个类为触发事件的事件源

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;i<tempVector.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();
}
}

热点内容
linux解压到文件夹命令 发布:2025-01-19 12:43:20 浏览:425
父母访问 发布:2025-01-19 12:33:05 浏览:794
加密文件如何编辑 发布:2025-01-19 12:31:18 浏览:219
androiddpi 发布:2025-01-19 12:21:15 浏览:655
服务器锁了怎么解 发布:2025-01-19 12:06:58 浏览:301
DH算法使用 发布:2025-01-19 11:57:30 浏览:932
Wcl上传如何选择服务器 发布:2025-01-19 11:17:24 浏览:763
如何编程简单给服务器发一个指令 发布:2025-01-19 11:16:44 浏览:806
python控制台乱码 发布:2025-01-19 10:55:38 浏览:364
安卓鸿蒙苹果哪个好用 发布:2025-01-19 10:32:33 浏览:265