当前位置:  技术问答>java相关

这个程序有问题!但可以运行!我没有办法了!请大家帮忙!

    来源: 互联网  发布时间:2015-09-23

    本文导语:  import java.awt.*; import java.awt.event.*; import java.awt.event.KeyEvent; import javax.swing.*; import javax.swing.JTextField; import javax.swing.event.*; import javax.swing.border.*; import java.util.*; import java.lang.Runnable; import java.lang.Thread; class testThrea...

import java.awt.*;
import java.awt.event.*;
import java.awt.event.KeyEvent;
import javax.swing.*;
import javax.swing.JTextField;
import javax.swing.event.*;
import javax.swing.border.*;
import java.util.*;
import java.lang.Runnable;
import java.lang.Thread;

class testThread implements Runnable{
Thread t;
int i=0;
int result[]=new int[4];
int ThreadInput;

testThread(int in)
{
t=new Thread(this,"test child Thread");
ThreadInput=in;
t.start();
}

public void run(){
for (i=3;i>=0&&ThreadInput>0;i--)
{
result[i]=(ThreadInput+7)%10;
ThreadInput=ThreadInput/10;
}


String msg = "This is run in the child Thread"+"
"+"the result is "+result[2]+result[3]+result[0]+result[1]+"
";
JOptionPane.showMessageDialog(null, msg);
}

}


public class test {
public static void main(String[] args) {
    
    final JFrame frame = new JFrame("test");
    frame.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {System.exit(0);}
});

    final JPanel pContainer = new JPanel();
    final JPanel Containers = new JPanel();
    
    
    
    final JLabel firstIn = new JLabel("Input");
    final JTextField Input=new JTextField(5);
         
    Containers.add(firstIn);
    Containers.add(Input);
         
    pContainer.setLayout(new BoxLayout(pContainer,BoxLayout.Y_AXIS));
    pContainer.add(Containers);
    
    
    JPanel ReportPanel = new JPanel();
    
    JButton report = new JButton("Report");
    report.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
int In;
In=Integer.parseInt(Input.getText());

new testThread(In);
    }
});

frame.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
int In;
In=Integer.parseInt(Input.getText());
int c=e.getKeyChar();
if (c==KeyEvent.VK_ENTER)
{

new testThread(In);
}
   }
});
    ReportPanel.add(report);

   
    Container contentPane = frame.getContentPane();
    contentPane.add(pContainer, BorderLayout.CENTER);
    contentPane.add(ReportPanel, BorderLayout.EAST);
    
    frame.pack();
    Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();
    Dimension framesize=frame.getSize();
    int x=(screen.width-framesize.width)/2;
    int y=(screen.height-framesize.height)/2;
    frame.setLocation(x,y);
    frame.show();
}
}

|
KeyListener里面错了,到换一下顺序就可以避免第一次空输入的转型错误

frame.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
int In;

int c=e.getKeyChar();
if (c==KeyEvent.VK_ENTER)
{
In=Integer.parseInt(Input.getText());
new testThread(In);
}
   }
});

|
完全同意DanielYWoo(绿色毒汁):
不然的话!就会出现事件传递异常的!你想啊!当你按下键盘的时候,文本框中输入还没有完成,就有人监听,把还正在但没有结束输入就取走!你想啊………………………………可怕不可怕!


呵呵!

    
 
 

您可能感兴趣的文章:

  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • Ubuntu程序开机自动启动设置(服务和自动运行配置文件)的几种方法
  • SecureCRT上运行一个JAVA程序,该程序类似一个在WINDOWS下一直运行的CMD窗口的东西,SecureCRT关掉后,JAVA还会继续运行吗?
  • windows下cmd命令提示符下让程序后台运行命令
  • telnet到主机去运行一个我编的程序,退出telnet时那个程序也不运行了,这是怎么回事?按程序逻辑它应该一直运行下去的。
  • python计算程序开始到程序结束的运行时间和程序运行的CPU时间
  • jsp程序运行一次后,再修改原jsp程序,为什么运行还是的还是原来的程序??
  • 我的linux程序 如何 在pc机器上运行。现在我用arm-linux-g++ 编译后的程序在我的嵌入设备上运行。
  • 在JB7中默认的情况下会为程序生成一个包,程序在JB7中可以正常运行,可是在JDK中却无法运行
  • 我用C在UNIX下写程序,生产文本,如何能让我的程序并行运行,好加快运行速度,举例说明。
  • 怎样在客户端(win2k svr)vc程序里使hp-ux服务器中的c程序运行,另外如何获得其运行结果?
  • 在LIUNIX中,在运行程序中,运行什么命令可以出现类似DOS的界面...谢谢.
  • 怎样让linux启动后不运行桌面而是直接运行某个应用程序呢?
  • 程序在windows下用visual运行正常,如何才能在linux下运行??
  • linux编写一个脚本判断程序是否在运行,如果没运行就重启这个软件。
  • 请问linux下查看某个程序的运行界面的程序是什么?
  • jbuilder下写的javabean与jsp程序正常运行,如何转到weblogic或其他的服务器上运行???
  • 运行程序后程序报错说操作不允许
  • ubuntu下用gcc编译的程序要怎样运行,为何运行不了?
  • 关闭putty(SSH程序)后如何让程序还在redhat上运行?
  • 用jbuilder开发的程序,其中用到了xylayout,将应用程序做成了jar文件,运行jar文件时,提示错误。请大家多帮忙
  • 帮忙写一个小程序readkey
  • jni 中一个简单程序,请大家帮忙!
  • 关于程序移植,请知道的帮忙,分会加的
  • 用JAVA编一个程序,测试网络速度~~高手帮忙
  • 高手帮忙,pkg安装包结束后,如何启动GUI程序?
  • 100分请帮忙,我不能编译servlet程序
  • 编写把一java程序中所有的print语句都删除,帮忙分析一下思路。
  • 想做个程序,帮忙提个纲吧,哥们!!!!
  • 不能运行编译出来的程序,请大家帮忙看看
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 有没有什么办法能在程序中得到当前程序自己的路径呢?
  • IIS未找到提供程序该程序可能未正确安装错误解决办法
  • 请问:有没有办法欺骗一个程序得到假的本机ip地址而不影响其它程序。
  • 请问有没有办法让程序在崩溃的时候自启动
  • 有没有办法执行另一个用户下的程序?
  • 有一个7*24运行的服务程序,现在我将这个程序的输出重定向到一个文本,现在要实时读取文本内容,有什么好的办法?
  • 编译JAVA程序的时候,如果需要的JAR不在CLASSPATH,有什么办法能成功编译吗???
  • 在jsp中有没有办法执行客户端程序?
  • 图形方式使用鼠标的dos程序,在Win98下可以正常显示鼠标光标,而Win2000下不行,有办法吗
  • 有没有什么办法能够查询到某个内核模块程序加载之后的运行情况?
  • 有谁知道unix下的源程序管理办法吗?
  • 请问application的程序没办法生成.exe文件,那做出来的东西别人怎么用??
  • 有没有什么工具或办法可以将Tc 下的程序移植到linux下运行?
  • 将ocx文件转换成C#程序引用的DLL文件的办法
  • 运行Java程序时,我想把 dos窗口中的错误信息重定向到一个文本文件,请问有什么办法?
  • 最简单的让Qt界面和我的C程序接洽的办法是什么
  • 为什么JBuilder写视窗程序的那个小窗口好像不怎么好用,他到底是干什么的?控件没有办法放上去,尺寸不对
  • python应用程序在windows下不出现cmd窗口的办法
  • 发布程序时出现“类型ASP.global_asax同时存在于...”错误的解决办法
  • 以前通过“apt-get remove”这样的方式删除程序时总会提示是否删除,有没有什么办法可以直接删掉而不提示的?
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • java相关 iis7站长之家
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 程序员的八种级别,你属于哪一级?
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • 在docker容器中通过apt-get安装新的程序
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.
  • linux下通过crond实现自动执行程序


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3