Essayer de compléter le programme ;) ( JAVA)
Résolu
Hou$$am
-
chuka Messages postés 965 Date d'inscription Statut Membre Dernière intervention -
chuka Messages postés 965 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Compléter le programme à « trous » donné pour les classes
IHM et Scheduler. Il s’agit de compléter le programme là où vous rencontrez la séquence "…" (pointillés entre guillemets, ne pas considérer les pointillés sans guillemets qui sont là pour
raccourcir le texte) avec les bonnes instructions.
public class IHM "…"{
public Scheduler __scheduler;
...
public IHM(String name, Scheduler s) {
super(name);
this.__scheduler = s;
JPanel control = new JPanel();
JButton init = new JButton("Init");
JButton start = new JButton("Start");
JButton pause = new JButton("Pause");
JButton stop = new JButton("Stop");
// add listeners
init.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { "…";
}
});
start.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { "…";
}
});
pause.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { "…";
}
});
stop.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { "…";
}
});
...
}
...
}//class IHM
public class Scheduler "…" {
public IHM __ihm = null;
private Thread __thread;
private Vector<Automate> __listOfAutomates;
/** Etat du Scheduler */
private volatile boolean __active = true;
private int __state = 0;//0 -> pause, 1->running
/** Evénements provenant de l’IHM */
private final int EVT_INIT = 0;
private final int EVT_START = 1;
private final int EVT_PAUSE = 2;
private final int EVT_STOP = 3;
private final int EVT_FINISH = 4;
private int __evt = -1;
...
public Scheduler(IHM __ihm) {
...
// Creer et lancer le thread
this.__thread = "…";
this.__thread."…";
}
"…" init() {
__evt = "…"; "…";
}
"…" start() {
__evt = "…"; "…";
}
"…" pause() {
__evt = "…"; "…";
}
...
public void run() {
while (this.__active) {
int r = -1; "…" {
r = __evt;
__evt = -1;
}
if (r == EVT_INIT) {
r = -1;
this.__state = "…";
...
}
if (r == EVT_START) {
r = -1;
this.__state = "…";
...
}
if (r == EVT_PAUSE) {
r = -1;
this.__state = "…";
...
}
//Activer ou non les automates
if (this.__state == 0) {//pause "…" {
try {
System.out.println("Waiting ... "); "…";
} catch (InterruptedException e) {}
}
} else if (this.__state == 1) {//running
for (Automate p : this.__listOfAutomates)
p.activate();
}
this.__ihm.repaint();
try {
Thread.sleep(100);//100 ms
} catch (InterruptedException e) {
}
}//while
}//run
}//Class Scheduler
Finalement, il y a une erreur possible de fonctionnement dans le programme liée à la
synchronisation. Expliquer et corriger
Compléter le programme à « trous » donné pour les classes
IHM et Scheduler. Il s’agit de compléter le programme là où vous rencontrez la séquence "…" (pointillés entre guillemets, ne pas considérer les pointillés sans guillemets qui sont là pour
raccourcir le texte) avec les bonnes instructions.
public class IHM "…"{
public Scheduler __scheduler;
...
public IHM(String name, Scheduler s) {
super(name);
this.__scheduler = s;
JPanel control = new JPanel();
JButton init = new JButton("Init");
JButton start = new JButton("Start");
JButton pause = new JButton("Pause");
JButton stop = new JButton("Stop");
// add listeners
init.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { "…";
}
});
start.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { "…";
}
});
pause.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { "…";
}
});
stop.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { "…";
}
});
...
}
...
}//class IHM
public class Scheduler "…" {
public IHM __ihm = null;
private Thread __thread;
private Vector<Automate> __listOfAutomates;
/** Etat du Scheduler */
private volatile boolean __active = true;
private int __state = 0;//0 -> pause, 1->running
/** Evénements provenant de l’IHM */
private final int EVT_INIT = 0;
private final int EVT_START = 1;
private final int EVT_PAUSE = 2;
private final int EVT_STOP = 3;
private final int EVT_FINISH = 4;
private int __evt = -1;
...
public Scheduler(IHM __ihm) {
...
// Creer et lancer le thread
this.__thread = "…";
this.__thread."…";
}
"…" init() {
__evt = "…"; "…";
}
"…" start() {
__evt = "…"; "…";
}
"…" pause() {
__evt = "…"; "…";
}
...
public void run() {
while (this.__active) {
int r = -1; "…" {
r = __evt;
__evt = -1;
}
if (r == EVT_INIT) {
r = -1;
this.__state = "…";
...
}
if (r == EVT_START) {
r = -1;
this.__state = "…";
...
}
if (r == EVT_PAUSE) {
r = -1;
this.__state = "…";
...
}
//Activer ou non les automates
if (this.__state == 0) {//pause "…" {
try {
System.out.println("Waiting ... "); "…";
} catch (InterruptedException e) {}
}
} else if (this.__state == 1) {//running
for (Automate p : this.__listOfAutomates)
p.activate();
}
this.__ihm.repaint();
try {
Thread.sleep(100);//100 ms
} catch (InterruptedException e) {
}
}//while
}//run
}//Class Scheduler
Finalement, il y a une erreur possible de fonctionnement dans le programme liée à la
synchronisation. Expliquer et corriger
A voir également:
- Essayer de compléter le programme ;) ( JAVA)
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo