使用for循环创建TextField 导入java.awt.Dimension; 导入java.awt.FlowLayout; 导入java.awt.TextField; 导入java.awt.event.ActionEvent; 导入java.awt.e
使用for循环创建TextField使用for循环创建TextField 导入java.awt.Dimension; 导入java.awt.FlowLayout; 导入java.awt.TextField; 导入java.awt.event.ActionEvent; 导入java.awt.e,java,multithreading,Java,Multithreading,使用for循环创建TextField 导入java.awt.Dimension; 导入java.awt.FlowLayout; 导入java.awt.TextField; 导入java.awt.event.ActionEvent; 导入java.awt.event.ActionListener; 导入java.awt.event.MouseAdapter; 导入java.awt.event.MouseEvent; 导入javax.swing.JButton; 导入javax.swing.JFra
导入java.awt.Dimension;
导入java.awt.FlowLayout;
导入java.awt.TextField;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入java.awt.event.MouseAdapter;
导入java.awt.event.MouseEvent;
导入javax.swing.JButton;
导入javax.swing.JFrame;
导入javax.swing.JPanel;
导入javax.swing.JTextField;
公共类主框架{
私人JTextField NOSAT、noAgent、maxWaitTime;
公共JPanel小组;
私用JButton btnCreate,btnBook;
公用干管(){
JFrame=新JFrame(“图书申请”);
frame.getContentPane().setLayout(新的FlowLayout());
框架设置尺寸(10001000);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel=新的JPanel();
面板。设置首选尺寸(新尺寸(700700));
noSeats=新JTEXTFELD(“座位数”);
nosets.addMouseListener(新的MouseAdapter(){
@凌驾
公共无效mouseClicked(MouseEvent e){
//TODO自动生成的方法存根
鼻长。长宽(“”);
}
});
noAgent=新JTextField(“代理数量”);
noAgent.addMouseListener(新的MouseAdapter(){
@凌驾
公共无效mouseClicked(MouseEvent e){
//TODO自动生成的方法存根
noAgent.setText(“”);
}
});
maxWaitTime=新的JTextField(“最大等待时间”);
maxWaitTime.addMouseListener(新的MouseAdapter(){
@凌驾
公共无效mouseClicked(MouseEvent e){
//TODO自动生成的方法存根
maxWaitTime.setText(“”);
}
});
btnCreate=新的JButton(“创建座位”);
btnCreate.addActionListener(新ActionListener(){
@凌驾
已执行的公共无效操作(操作事件e){
//TODO自动生成的方法存根
int seatsNumber=Integer.parseInt(nosets.getText());
int waitingTime=Integer.parseInt(maxWaitTime.getText());
TestProduceThread t1=新的TestProduceThread(座位号,等待时间);
}
});
btnBook=新的JButton(“Book”);
frame.getContentPane().add(nosets);
frame.getContentPane().add(noAgent);
frame.getContentPane().add(maxWaitTime);
frame.getContentPane().add(btnCreate);
frame.getContentPane().add(btnBook);
frame.getContentPane().add(面板);
frame.setVisible(true);
}
公共同步的void showThread(整数){
JTextField-txtField;
对于(int i=0;i)您可以共享您为解决此问题所做的尝试吗?您在哪里调用showThread()
?TestProduceThread做什么?导入java.util.concurrent.ExecutorService;导入java.util.concurrent.Executors;公共类TestProduceThread{private int waitingTime;private ExecutorService myPool;公共TestProduceThread(int number,int waitingTime){myPool=Executors.newFixedThreadPool(number);this.waitingTime=waitingTime;for(int i=0;IPpublic类ProduceThread实现可运行的{private int waitingTime,number;public ProduceThread(int waitingTime,int number){//TODO自动生成的构造函数存根this.waitingTime=waitingTime;this.number=number;}@Override public void run(){Main Main=new Main();try{Main.showThread(number);Thread.currentThread().sleep(waitingTime);}catch(interruptedeException e){//TODO:handle exception}您可以分享您为解决此问题所做的尝试吗?您在哪里调用showThread()
?TestProduceThread做什么?导入java.util.concurrent.ExecutorService;导入java.util.concurrent.Executors;公共类TestProduceThread{private int waitingTime;private ExecutorService myPool;公共TestProduceThread(int number,int waitingTime){myPool=Executors.newFixedThreadPool(number);this.waitingTime=waitingTime;for(int i=0;IPpublic类ProduceThread实现可运行的{private int waitingTime,number;public ProduceThread(int waitingTime,int number){//TODO自动生成的构造函数存根this.waitingTime=waitingTime;this.number=number;}@Override public void run(){Main Main=new Main();try{Main.showThread(number);Thread.currentThread().sleep(waitingTime);}catch(interruptedeException e){//TODO:handle exception}
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Main extends JFrame {
private JTextField noSeats,noAgent,maxWaitTime;
public JPanel panel;
private JButton btnCreate,btnBook;
public Main () {
JFrame frame = new JFrame("Book Application");
frame.getContentPane().setLayout(new FlowLayout());
frame.setSize(1000,1000);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel = new JPanel();
panel.setPreferredSize(new Dimension(700,700));
noSeats = new JTextField("Number of Seats");
noSeats.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
noSeats.setText("");
}
});
noAgent = new JTextField("Number of Agent");
noAgent.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
noAgent.setText("");
}
});
maxWaitTime = new JTextField("Maximum waiting time");
maxWaitTime.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
maxWaitTime.setText("");
}
});
btnCreate = new JButton("Create Seats");
btnCreate.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
int seatsNumber = Integer.parseInt(noSeats.getText());
int waitingTime = Integer.parseInt(maxWaitTime.getText());
TestProduceThread t1 = new TestProduceThread(seatsNumber, waitingTime);
}
});
btnBook = new JButton("Book");
frame.getContentPane().add(noSeats);
frame.getContentPane().add(noAgent);
frame.getContentPane().add(maxWaitTime);
frame.getContentPane().add(btnCreate);
frame.getContentPane().add(btnBook);
frame.getContentPane().add(panel);
frame.setVisible(true);
}
public synchronized void showThread (int number) {
JTextField txtField;
for (int i=0; i<number; i++) {
txtField=new JTextField("Not Booked");
panel.add(txtField);
}
}
public static void main(String[] args) {
new Main();
}
}