package demo01;
import java.awt.FlowLayout;
import java.awt.event.*;import javax.swing.*;public class ThreadDemo extends Thread{
private JFrame frame;
private JTextField jf;
private JButton jb;
private boolean flag = true;
private int i=0;
public ThreadDemo(){
frame = new JFrame();
jf = new JTextField(15);
jb = new JButton("go");
frame.setLayout(new FlowLayout());
frame.add(jf);
frame.add(jb);
jb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(flag){
try {
this.wait();
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}else{
this.notify();
}
flag = !flag;
}
});
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void run(){
while(true){
try{
Thread.sleep(20);
jf.setText(""+(i++));
}catch(Exception e ){
e.printStackTrace();
}
}
}
public static void main(String[] args){
new ThreadDemo().start();
}
}
我想做到按钮按一下暂停,在按一下数字接着增加。线程方面很多地方不明白,求高手详细讲解,大家都说下是怎么学线程的。有啥好的资料也给小弟发一份,不甚感激。邮箱[email protected]
import java.awt.FlowLayout;
import java.awt.event.*;import javax.swing.*;public class ThreadDemo extends Thread{
private JFrame frame;
private JTextField jf;
private JButton jb;
private boolean flag = true;
private int i=0;
public ThreadDemo(){
frame = new JFrame();
jf = new JTextField(15);
jb = new JButton("go");
frame.setLayout(new FlowLayout());
frame.add(jf);
frame.add(jb);
jb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(flag){
try {
this.wait();
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}else{
this.notify();
}
flag = !flag;
}
});
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void run(){
while(true){
try{
Thread.sleep(20);
jf.setText(""+(i++));
}catch(Exception e ){
e.printStackTrace();
}
}
}
public static void main(String[] args){
new ThreadDemo().start();
}
}
我想做到按钮按一下暂停,在按一下数字接着增加。线程方面很多地方不明白,求高手详细讲解,大家都说下是怎么学线程的。有啥好的资料也给小弟发一份,不甚感激。邮箱[email protected]
package demo01;
import java.awt.FlowLayout;
import java.awt.event.*;import javax.swing.*;public class ThreadDemo extends Thread{
private JFrame frame;
private JTextField jf;
private JButton jb;
private boolean flag = true;
private int i=0;
public ThreadDemo(){
frame = new JFrame();
jf = new JTextField(15);
jb = new JButton("go");
frame.setLayout(new FlowLayout());
frame.add(jf);
frame.add(jb);
jb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
flag = !flag;
}
});
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void run(){
while(true){
if(flag)
{
try{
Thread.sleep(20);
jf.setText(""+(i++));
}catch(Exception e ){
e.printStackTrace();
}
}
}
}
public static void main(String[] args){
new ThreadDemo().start();
}
}