I have two JButtons in a JFrame.
i want to execute some code when i click on first button. this code has to run till i click on second button.but here when i click on first button next i'm not able to click second button bcz the focus is on first button only.
below is my code.
when i click on start it starts printing "hello", i want to stop this only when i click on stop button.
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class UI implements ActionListener {
public JFrame frame;
public JButton startBtn,stopBtn;
static boolean quit=false;
public UI() {
frame=new JFrame("Screen Shot");
frame.setPreferredSize(new Dimension(200, 200));
frame.setLocation(200, 200);
JPanel panel = new JPanel();
panel.setLayout(null);
startBtn=new JButton("Start");
startBtn.setBounds(40, 40, 100, 30);
panel.add(startBtn);
stopBtn=new JButton("Stop");
stopBtn.setBounds(40, 80, 100, 30);
panel.add(stopBtn);
startBtn.addActionListener(this);
stopBtn.addActionListener(this);
frame.add(panel);
frame.pack();
frame.setResizable(false);
frame.setVisible(true);
}
public static void main(String[] args) {
new UI();
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==startBtn)
{
System.out.println("hello");
Thread t1=new Thread(new PrintIt());
t1.start();
while(true){
if(quit==true)
break;
System.out.println("hello");
}
}
else if(e.getSource()==stopBtn)
{
quit=true;
}
}
}