您当前的位置:首页 > 精选知识 > 正文

关于js里设置文本框的只读属性!?单选按钮事件及文本框事件

客户端调用方式2回调方法:向 Begin 方法传递一个回调函数,代理类通过使用与客户端调用 Begin 方法时使用的线程不同的线程来处理 SOAP 响应,1、Begin/End方法使用 Begin/End 模式实现进行异步方法调用的 Web 服务客户端客户端如何知道何时调用 End 方法呢,webservice代码:客户端调用方式1(Begin/End 模式的回调方法):解说(解说来自MSDN):《!--[if !supportLists]--》定义实现 AsyncCallback 委托的回调函数,有两种方法可以使客户端确定这一点:客户端调用方式1等待方法:使用 WaitHandle 类的方法之一使客户端等待方法完成,B、 而不在主线程中手工等待异步结束,Web 服务客户端通过 Begin 方法返回的 IAsyncResult 对象的 AsyncWaitHandle 属性,results = pf.EndFactorize(ar);2、事件驱动方法解说:Web 服务代理类中的每个 Web 方法都具有一个异步的对应版本。

关于js里设置文本框的只读属性!

readOnly=“true“是限制文本框只读的,即不能输入。readOnly=“false“,就是去掉只读的限制,可以输入。根据需要设置就行了哦。

单选按钮事件及文本框事件

import java.awt.FlowLayout;import java.awt.event.FocusEvent;import java.awt.event.FocusListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JRadioButton;import javax.swing.JTextField;public class helpframe extends JFrame implements MouseListener { JTextField jtf = new JTextField(20); JRadioButton jrb = new JRadioButton(“男“); JButton jb = new JButton(“看看单选框里的值“); String jftVariable = ““;//赋值文本框的值 public helpframe() { this.setLayout(new FlowLayout()); this.add(jtf); this.add(jrb); this.add(jb); jtf.addFocusListener(new FocusListener() { //匿名方式创建监听器 @Override public void focusGained(FocusEvent arg0) { } @Override public void focusLost(FocusEvent arg0) { if (jtf.getText() == null || jtf.getText().equals(““)) { JOptionPane.showMessageDialog(null, “你不能输入空值“, “title“, JOptionPane.ERROR_MESSAGE); } else { jftVariable = jtf.getText(); JOptionPane.showMessageDialog(null, “得到的文本框的值为:“ + jftVariable + “\n“ + “并放到了变量jftVariable里面。“, “title“, JOptionPane.ERROR_MESSAGE); } } }); jb.addMouseListener(this);//添加鼠标监听器 this.setSize(600, 400); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String args) { new helpframe(); } @Override public void mouseClicked(MouseEvent e) { if (e.getSource() == jb) { jrb.isSelected(); String outputText = “单选框里的值为:“ + jrb.getText() + “\n“ + “选中状态为:“ + jrb.isSelected() + “\n“ + “大部分的控件都是用getText()方法就可以得到该对象的文本“ + “\n“ + “所以用setText(String)也可为大部分控制赋可见文本“; JOptionPane.showMessageDialog(null, outputText, “title“, JOptionPane.ERROR_MESSAGE); } } @Override public void mouseEntered(MouseEvent arg0) { } @Override public void mouseExited(MouseEvent arg0) { } @Override public void mousePressed(MouseEvent arg0) { } @Override public void mouseReleased(MouseEvent arg0) { }}

CMS是什么意思,中文是啥

CMS是内容管理系统,英文Content Management System 的缩写。指的是用来创建和管理网站内容的软件。目前大部分网站都是使用CMS系统管理、数据库驱动的动态页面。

如何异步调用webservice,异步调用有什么优势

一.异步调用webservice方法:

不管是Winform还是Web调用,都是可以对Webservice进行异步调用的。

方法有两种:

(1)Begin/End方法(虽然被丢弃)。

(2)事件驱动方法。

下面来具体谈谈这两种方法;

1、Begin/End方法

使用 Begin/End 模式实现进行异步方法调用的 Web 服务客户端客户端如何知道何时调用 End 方法呢?根据 .NET Framework 的定义,有两种方法可以使客户端确定这一点:

客户端调用方式1等待方法:使用 WaitHandle 类的方法之一使客户端等待方法完成。

客户端调用方式2回调方法:向 Begin 方法传递一个回调函数,在该方法完成处理后再调用该函数来检索结果。

注意:无论客户端选择两种方法中的哪一种与 Web 服务进行异步通信,收发的 SOAP 消息都与通过同步代理方法生成的 SOAP 消息相同。也就是说,仍然只有一个 SOAP 请求和 SOAP 响应通过网络发送和接收。代理类通过使用与客户端调用 Begin 方法时使用的线程不同的线程来处理 SOAP 响应,从而实现该目的。因此,在代理类接收和处理 SOAP 响应时,客户端可以在其线程上继续执行其他工作。

webservice代码:

客户端调用方式1(Begin/End 模式的回调方法):

解说(解说来自MSDN):

《!--[if !supportLists]--》定义实现 AsyncCallback 委托的回调函数。 public static void FactorizeCallback(IAsyncResult ar)

《!--[if !supportLists]--》实例化 AsyncCallback 委托。 《!--[endif]--》 AsyncCallback cb = new AsyncCallback(TestCallback.FactorizeCallback);

《!--[if !supportLists]--》 《!--[endif]--》调用 Begin 方法,将回调函数作为第二个参数传递,将提供状态的对象(在本示例中是 PrimeFactorizer 的客户端实现)作为第三个参数传递。 IAsyncResult ar = pf.BeginFactorize(factorizableNum, cb, pf);

《!--[if !supportLists]--》 《!--[endif]--》在 Begin 方法返回的 IAsyncResult 上检查 IsCompleted 属性。如果客户端已收到服务器的响应,该值将设置为 true。 《!--[if !supportLists]--》 《!--[endif]--》在回调函数中访问状态对象。IAsyncState 参数的 AsyncState 属性将该对象作为第三个参数传递给 Begin 方法。 PrimeFactorizer pf = (PrimeFactorizer) ar.AsyncState;

《!--[if !supportLists]--》 《!--[endif]--》在回调函数中,对上一步中获取的状态对象调用 End 方法。 long results = pf.EndFactorize(ar);

客户端调用方式2(Begin/End 模式的等待方法):

解说(解说来自MSDN):

WaitHandle 类实现下列支持等待同步对象得到信号通知的方法:WaitOne、WaitAny 和 WaitAll。当同步对象得到信号通知时,表示等待指定资源的线程此时可以访问该资源了。Web 服务客户端通过 Begin 方法返回的 IAsyncResult 对象的 AsyncWaitHandle 属性,来访问 WaitHandle 对象。

具体做法:

《!--[if !supportLists]--》1、 《!--[endif]--》Web 服务客户端调用所生成的代理类的 Begin 方法。

IAsyncResult ar = pf.BeginFactorize(factorizableNum, null, null);

《!--[if !supportLists]--》2、 《!--[endif]--》Web 服务客户端通过返回的 IAsyncResult 的 AsyncWaitHandle 属性来访问 WaitHandle 对象。

ar.AsyncWaitHandle.WaitOne()

《!--[if !supportLists]--》3、 《!--[endif]--》等待方法返回后,客户端调用 End 方法来获取结果。

results = pf.EndFactorize(ar);

2、事件驱动方法

解说:

Web 服务代理类中的每个 Web 方法都具有一个异步的对应版本。代理类自动生成每个 Web 方法的异步方法和对应事件。当异步方法被调用时,将在另一个线程上执行,并在返回时引发对应的事件。可以为异步方法的对应事件创建一个处理程序,从而 在返回时执行代码。

此模型可以简化生成多线程应用程序的过程,因为不必自己实现复杂的多线程代码。

具体做法:

《!--[if !supportLists]--》1、 《!--[endif]--》创建MethodCompleted 事件。

private void HelloWorldCompleted(Object sender,

localhost.HelloWorldCompletedEventArgs Completed)

{

// Insert code to implement the method here

}

《!--[if !supportLists]--》2、 《!--[endif]--》向该事件的处理程序列表添加 MethodCompleted 事件处理程序。

myWebService.HelloWorldCompleted += new localhost.HelloWorldCompletedEventHandler(HelloWorldCompleted);《!--[if !supportLists]--》3、 《!--[endif]--》使用该方法的 MethodAsync 形式调用 Web 方法.

HelloWorldAsync();

二.异步调用的优势:

异步出来的新线程,.NET也是不允许的,所以别想钻空子,下面可以很容易想到,回收分为2种情况:主动回收和被动回收,主动回收就是,去监视那个线程,并且等待,当异步方法完成了,就把异步线程回收,焦点回归主线程,BeginInvoke之后又EndInvoke,如果在EndInvoke的时候,该异步线程没有完成操作,那么整个程序,包括主线程,又在阻塞了,又会出现界面的情况。要想解决这个问题,就使用“被动回收”方式,其中一个重要的办法就是“异步回调”。 核心有二: A、 用回调函数,异步结束后,自动调用此回调函数。 B、 而不在主线程中手工等待异步结束,如上两例中在主线程中调用EndInvoke。此种方法,是在回调函数中调用EndInvoke的。


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 2022深圳三月份热吗

下一篇: 家蚕的丝腺,家蚕的丝腺是产生蚕丝的器官,可分为( )、( )和( )



推荐阅读