2024-03-26 11:34:09 | 我爱编程网
可以用join()方法,楼主试试下面的例子,看看是不是你想要的:
public static class T extends Thread{
private final String name;
public T(String name){
this.name = name;
}
@Override
public void run() {
super.run();
for(int i=0; i<1000; i++)
System.err.println(name + "\t" + i);
}
}
public static void main(String[] args) throws Exception{
T t = new T("t1");
T t2 = new T("t2");
t.start();
t.join();
t2.start();
}
package thread;
public class TestJoin {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ThreJo t= new ThreJo("a");
t.start();
ThreJo t2= new ThreJo("b");
t2.start();
try {
t.join();
t2.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
System.out.println("出错了");
return ;
}
for(int i =0;i<50;i++){
System.out.println("调用主线程第"+i+"次");
}
}
}
class ThreJo extends Thread{
ThreJo(String s){
super(s);
}
public void run(){
for(int i =0;i<50;i++){
System.out.println("继承Thread"+i+"次,我是"+getName());
}
}
}
我爱编程网(https://www.52biancheng.com)小编还为大家带来java 一个类调用另一个类的方法 怎样控制另一个类的方法执行完再继续执行本类的相关内容。
按照你的代码,最简单但笨拙的解决方案如下:
//method reco
JPasswordFieldDemo JP=new JPasswordFieldDemo();
String reader_id = null;
do{
reader_id=JP.reader_id;
int n1=0;
//后续登陆check逻辑
}while(reader_id!=null);我爱编程网
最好的做法是给登陆窗口中的登陆按钮触发事件时调用后续的登陆查询逻辑
//method reco
//1.实例化登陆窗口对象
JPasswordFieldDemo JP=new JPasswordFieldDemo();//构造是不要立即显示窗体
//2.注册事件
JButton loginBtn=JP.getLoginButton();//简单封装下,当然可以粗糙些,类似 JP.reader_id
//注册一个listener
loginBtn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//后续登陆check逻辑
}
});
//3.显示登陆窗口
JP.setVisible(true);
看了下,你说好像去登陆框里的值有问题,取不到,可以这样封装个方法在类JPasswordFieldDemo
//类JPasswordFieldDemo中定义一个方法
public String getLoginName(){
//用户名控件 nameTextField
return nameTextFiled.getText();
}
//密码控件也可以类似
然后在当前类中recommend中
String reader_id=JP.reader_id 改成
String reader_id=JP.getLoginName();
类似这种
JAVA程序执行完一个功能后如何继续执行其他功能加个for循环,加个判断退出的条件。。。如;importjava.util.*;publicclassText{publicstaticvoidmain(Stringargs[]){intk;inttext=0;Scannerinput=newScanner(System.in);for(inti=0;i<
java线程执行完后自己结束吗其实最佳答案的说法是有问题的,如果题主指的结束,是指方法块语句的执行结束的话,热心网友的说法是对的。但是对于线程本身,所有线程(包括主线程)在启动后都被CPU参照优先级交替调用,运行的顺序是无法预测的,但最后结束的一定是主线程。网上有部分说法,展示的代码运行结果,“主线程先于其他线程结束,并不影响其他线程的运行”只有后半部分是对的。因为方法体(不管是自定
Java怎么在Main函数中,执行完异步任务后才退出主线程如题,有时候我们需要在Main函数中写测试代码,并且需要在异步线程中执行任务,任务执行完之后才退出主线程,如何做到的呢,请看如下代码:[java]viewplaincopypublicclassTestMain{/***@paramargs*/publicstaticvoidmain(String[]arg
如何让java程序每天执行一次写一个定时器import java.util.Timer; import java.util.TimerTask; public class M { public static void main(String[] args) { // TODO todo.generated by zoer Timer
简述Java程序从编写到运行的基本步骤,并说明Java的基本工作原理Java编译原理:Java虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。一.Java源文件的编译、下载、解释和执行Java应用程序的开发周期包括编译、下载、解释和执行几个部分。Java编译
java中swing界面中主程序运行时进度条不显示,程序结束后才显示;注释掉主程序后,再运行,进度条正常显示你的action事件可以放在一个新线程中运行,不要阻挡Swing画图。Swing对事件的响应都是放在一个叫事件派发的线程中去做的,如果你的事件响应监听器本身在被事件派发线程调用时你做的事件太花时间了(比如我们来个无限循环啥的)我们就应该把这个actionPerformed方法中的
Java或Cmd如何等待进程出现再执行命令并且循环执行这种情况,一般采用阻塞式方法来实现的。java中有很多方法都属于阻塞式方法,比如InputStream中的read()、readLine()方法和线程中sleep()方法以及DatagramSocket的receive 等。这里可调用线程的特有方法sleep和start()来实现static void sleep
如何在cmd下执行java程序?谢谢如图新建一个hello.java文件,写上你的代码。2.在文件的目录下打开cmd,输入命令javachello.java3.编译成功会生成hello.class文件4.运行编译好的文件,输入命令javachello(不需要文件后缀)。拓展:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里
2025-02-01 20:24:39
2024-01-05 14:11:24
2025-02-10 15:19:48
2025-01-28 17:58:32
2025-02-12 03:21:37
2024-11-22 05:08:01