关于java中如何取得控件类型和名称的问题...

关于java中如何取得控件类型和名称的问题...,第1张

使用JPanelgetComponents()方法,可以JPanel上的组件的数组,然后再对组件 *** 作就可以了,运行如下程序会看到效果。

import javaawt;

import javaxswing;

public class GetComponentsTest extends JFrame {

private Container buttonpanel;

public GetComponentsTest() {

super("GetcomponetsTest");

String[] button = { "按钮A", "按钮B", "按钮C", "按钮D", "按钮E", "按钮F" };

buttonpanel = getContentPane();

buttonpanelsetLayout(new GridLayout(1, 6));

for (int x = 0; x < 6; x++) {

buttonpaneladd(new JButton(button[x]));

}

setSize(640, 60);

setVisible(true);

}

public static void main(String[] args) {

GetComponentsTest test = new GetComponentsTest();

Component[] com = testgetContentPane()getComponents();

for(int i=0;i<6;i++){

((JButton)com[i])setFont(new Font("隶书",FontITALIC,20 ));

((JButton)com[i])setForeground(ColorRED);

}

}

}

在 `CTextBox` 控件的 `KeyPress` 事件中,可以使用 `Text` 属性来获取当前文本,此属性返回的是控件当前的文本值。以下是获取当前文本的示例代码:

```

private void cTextBox1_KeyPress(object sender, KeyPressEventArgs e)

{

string currentText = cTextBox1Text;

ConsoleWriteLine("Current Text: " + currentText);

}

```

在上述代码中,我们在 `CTextBox` 的 `KeyPress` 事件中获取了当前文本,然后通过控制台输出了该文本值。按下每个键时,该事件都会触发,因此可以实时获取到当前文本的值。

你这个程序是捕捉0到9的按键状态,按下再松开时才会记录,想要识别所有按键,把for循环范围扩大。

比如for(charch=32;ch<=127;ch++)这样就包含了特殊符号及大小写字母还有数字。

但是,这个代码是有问题的!

一、你这个代码需在键位已经按下后启动才能识别,否则启动时没有按下对应键位,程序就结束了。要嵌套死循环,让其一直检测。

二、直接扩大ASCII区间,像上面的那样32~127,识别字母区间会被防毒软件直接判断为病毒!!。

三、GetAsyncKeyState不是C语言库函数,是window的函数,换其它 *** 作系统就失效。

GetAsyncKeyState返回值最高位为1则说明对应ch的键被按下,所以这里用&0x8000来判断最高位。

四、想要捕获其它软件界面内容还有很多方法,比如:

1、通过windowAPI函数FindWindow来获取窗口句柄。

2、遍历窗口下控件句柄,找到输入框句柄。

3、通过窗口句柄找到进程id(GetWindowThreadProcessId函数),再通过id获取进程句柄(OpenProcess函数)。

4、向目标进程申请内存(VirtualAllocEx),再通过PostMessage函数异步发送消息获取目标控件内的内容(具体消息要结合控件类型,另外注意PostMessage是异步执行)。

具体自行查阅资料,一言两语说不清,上面步骤需先搞懂window消息机制。

注意:以上方法依然只限window系统,且有数据保护的控件无法获取。

五、或简单暴力的方法,直接写个定时截图,只要硬盘够不停桌面截图。

但不论写什么程序,和装摄像头一样,终究都会被发现。!!!!!!!!!!!!!

以上就是关于关于java中如何取得控件类型和名称的问题...全部的内容,包括:关于java中如何取得控件类型和名称的问题...、c#textbox控件keypress中如何获取当前文本、C语言问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9781845.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存