Swing java
Streamooc
Messages postés
74
Date d'inscription
Statut
Membre
Dernière intervention
-
Streamooc Messages postés 74 Date d'inscription Statut Membre Dernière intervention -
Streamooc Messages postés 74 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai créé un JComboBox contenant 0,1,2 que j'appelle IT.Ensuite des petits rectangles représentant ces IT et également un fil rouge.Je veux qu'en sélectionnant un IT que le fil rouge remplisse le rectangle de cet IT.J'ai essayé las j'ai besoin s'il vous plait d'aides.Voici mon code:
J'ai créé un JComboBox contenant 0,1,2 que j'appelle IT.Ensuite des petits rectangles représentant ces IT et également un fil rouge.Je veux qu'en sélectionnant un IT que le fil rouge remplisse le rectangle de cet IT.J'ai essayé las j'ai besoin s'il vous plait d'aides.Voici mon code:
public class FenetrePrincipale extends JFrame { private static final long serialVersionUID = 1L; public FenetrePrincipale() { setSize(1364, 788); setLocationByPlatform(true); setDefaultCloseOperation(EXIT_ON_CLOSE); JPanel panel = new JPanel(); panel.setLayout(null); IntervalleTemps it =new IntervalleTemps(150, 10); it.setLocation(992, 21); it.setSize(278,25); panel.add(it); // ajout au conteneur de 'it' //Ajout de tout le contenu au conteneur getContentPane().add(panel,BorderLayout.CENTER); //Le bouton 'run' JButton buttonRun = new JButton(""); buttonRun.setIcon(new ImageIcon(FenetrePrincipale.class.getResource("/sn/esmt/logicieltap/ressources/run.png.png"))); buttonRun.setBounds(46, 658, 56, 35); panel.add(buttonRun); //Rectangle vide représentant IT0 JToggleButton toggleButton_16 = new JToggleButton(""); toggleButton_16.setIcon(new ImageIcon(FenetrePrincipale.class.getResource("/sn/esmt/logicieltap/ressources/barre.png"))); toggleButton_16.setBounds(1155, 31, 96, 14); panel.add(toggleButton_16); JLabel lblIt = new JLabel("IT 0"); //On écrit à côté du rectangle ceci 'IT 0' lblIt.setBounds(1261, 31, 46, 14); panel.add(lblIt); //Rectangle vide représentant IT1 JToggleButton toggleButton_17 = new JToggleButton(""); toggleButton_17.setIcon(new ImageIcon(FenetrePrincipale.class.getResource("/sn/esmt/logicieltap/ressources/barre.png"))); toggleButton_17.setBounds(1155, 52, 96, 14); panel.add(toggleButton_17); JLabel lblIt_1 = new JLabel("IT 1"); //On écrit à côté du rectangle ceci 'IT 1' lblIt_1.setBounds(1261, 52, 46, 14); panel.add(lblIt_1); //Combobox:La barre des intervalles de temps String[] messageStrings ={"0","1","2"}; JComboBox cmbMessageList = new JComboBox(messageStrings); cmbMessageList.setBounds(474, 62, 37, 20); panel.add(cmbMessageList); //les intervalles de temps à sélectionner cmbMessageList.addActionListener(e ->{ switch ((String)cmbMessageList.getSelectedItem()) { case "0":labelIt.setText("IT 0 est réservé pour la synchronisation"); break; case "1":labelIt.setText("Sélection de IT 1"); break; } }); //Utilisation uniquement du bouton 'boutonRun' //Exécuter les actions l'une après l'autre buttonRun.addActionListener(new WorkflowActionListener(0, (state,e)->{ switch (state) { case 0: //System.out.println("buttonRun: state 0"); goMessageIt(); return 1; case 1: //System.out.println("buttonRun: state 1"); goIt(it); //Initialisation du fil rouge return 2; default: throw new IllegalStateException("State invalid: " + state); } })); } /** * Méthode de 'la sélection d'IT' */ public void goMessageIt(){ JOptionPane.showMessageDialog(null, "Sélectionner un IT"); } /** * Cette méthode permet de déclencher le mouvement de déclencher la couleur montrant l'IT sélectionné * @param ura1 */ private void goIt(IntervalleTemps it) { new SwingWorker<Void, Void>() { @Override protected Void doInBackground() { for (int i = 0; i < 12; i++) { //270:Distance que le fil doit parcourir avant de s'arrêter it.incrX(); it.repaint(); it.setVisible(true); //on voit le fil rouge défiler quand on appuie sur le bouton 'run' } return null; } }.execute(); } }
public class WorkflowActionListener implements ActionListener{ private int state; private final BiFunction<Integer, ActionEvent, Integer> actionsPerformed; public WorkflowActionListener(int init, BiFunction<Integer, ActionEvent, Integer> actionsPerformed) { state = init; this.actionsPerformed = actionsPerformed; } @Override public void actionPerformed(ActionEvent e) { state = actionsPerformed.apply(state, e); } }
public class IntervalleTemps extends Component{ private static final long serialVersionUID = 1L; private int posX; private int posY; public IntervalleTemps(int posX, int posY) { this.posX = posX; this.posY = posY; } @Override public void paint(Graphics g) { g.setColor(Color.red); g.fillRect(posX, posY, 98, 50); } public void incrX() { posX++; } public void incrY() { posY++; } }
public class ClassePrincipale { public static void main(String[] args) { // TODO Auto-generated method stub FenetrePrincipale fenetrePrincipale = new FenetrePrincipale(); fenetrePrincipale.setVisible(true); } }
A voir également:
- Swing 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
2 réponses
Bonjour Felice
public class FenetrePrincipale extends JFrame {
private static final long serialVersionUID = 1L;
public FenetrePrincipale() {
setSize(1364, 788);
setLocationByPlatform(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(null);
IntervalleTemps it =new IntervalleTemps(150, 10);
it.setLocation(992, 21);
it.setSize(278,25);
panel.add(it); // ajout au conteneur de 'it'
//Ajout de tout le contenu au conteneur
getContentPane().add(panel,BorderLayout.CENTER);
//Boutons et images
//Le bouton 'run'
JButton buttonRun = new JButton("");
buttonRun.setIcon(new ImageIcon(FenetrePrincipale.class.getResource("/sn/esmt/logicieltap/ressources/run.png.png")));
buttonRun.setBounds(46, 658, 56, 35);
panel.add(buttonRun);
//Rectangle vide représentant IT0
JToggleButton toggleButton_16 = new JToggleButton("");
toggleButton_16.setIcon(new ImageIcon(FenetrePrincipale.class.getResource("/sn/esmt/logicieltap/ressources/barre.png")));
toggleButton_16.setBounds(1155, 31, 96, 14);
panel.add(toggleButton_16);
JToggleButton toggleButton_17 = new JToggleButton("");
toggleButton_17.setIcon(new ImageIcon(FenetrePrincipale.class.getResource("/sn/esmt/logicieltap/ressources/barre.png")));
toggleButton_17.setBounds(1155, 52, 96, 14);
panel.add(toggleButton_17);
JToggleButton toggleButton_18 = new JToggleButton("");
toggleButton_18.setIcon(new ImageIcon(FenetrePrincipale.class.getResource("/sn/esmt/logicieltap/ressources/barre.png")));
toggleButton_18.setBounds(1155, 68, 96, 14);
panel.add(toggleButton_18);
JLabel lblIt = new JLabel("IT 0");
lblIt.setBounds(1261, 31, 46, 14);
panel.add(lblIt);
JLabel lblIt_1 = new JLabel("IT 1");
lblIt_1.setBounds(1261, 52, 46, 14);
panel.add(lblIt_1);
JLabel lblIt_2 = new JLabel("IT 2");
lblIt_2.setBounds(1261, 65, 46, 14);
panel.add(lblIt_2);
//Combobox:La barre des intervalles de temps
String[] messageStrings ={"0","1","2"};
JComboBox cmbMessageList = new JComboBox(messageStrings);
cmbMessageList.setBounds(474, 62, 37, 20);
panel.add(cmbMessageList);
//les intervalles de temps à sélectionner
cmbMessageList.addActionListener(e ->{
switch ((String)cmbMessageList.getSelectedItem()) {
case "0":labelIt.setText("IT 0 est réservé ");
break;
case "1":labelIt.setText("Sélection de IT 1");
break;
case "2":labelIt.setText("Sélection de l'IT2");
break;
}
});
//Utilisation uniquement du bouton 'boutonRun'
//Exécuter les actions l'une après l'autre
buttonRun.addActionListener(new WorkflowActionListener(0, (state,e)->{
switch (state) {
case 0:
//System.out.println("buttonRun: state 0");
goMessageIt();
return 1;
case 1:
//System.out.println("buttonRun: state 1");
goIt(it));
return 2;
default:
throw new IllegalStateException("State invalid: " + state);
}
}));
}
/**
private void goIt(IntervalleTemps it) {
new SwingWorker<Void, Void>() {
@Override
protected Void doInBackground() {
for (int i = 0; i < 12; i++) { //270:Distance que le fil doit parcourir avant de s'arrêter
it.incrX();
it.repaint();
it.setVisible(true); //on voit le fil rouge défiler quand on appuie sur le bouton 'run'
}
return null;
}
}.execute();
}
/**
public void goMessageIt(){
JOptionPane.showMessageDialog(null, "Sélectionner un IT");
}
}
public class WorkflowActionListener implements ActionListener{
private int state;
private final BiFunction<Integer, ActionEvent, Integer> actionsPerformed;
public WorkflowActionListener(int init, BiFunction<Integer, ActionEvent, Integer> actionsPerformed) {
state = init;
this.actionsPerformed = actionsPerformed;
}
@Override
public void actionPerformed(ActionEvent e) {
state = actionsPerformed.apply(state, e);
}
}
public class IntervalleTemps extends Component{
private static final long serialVersionUID = 1L;
private int posX;
private int posY;
public IntervalleTemps(int posX, int posY) {
this.posX = posX;
this.posY = posY;
}
@Override
public void paint(Graphics g) {
g.setColor(Color.red);
g.fillRect(posX, posY, 98, 50);
}
public void incrX() {
posX++;
}
public void incrY() {
posY++;
}
}
public class ClassePrincipale {
public static void main(String[] args) {
// TODO Auto-generated method stub
FenetrePrincipale fenetrePrincipale = new FenetrePrincipale();
fenetrePrincipale.setVisible(true);
}
}
public class FenetrePrincipale extends JFrame {
private static final long serialVersionUID = 1L;
public FenetrePrincipale() {
setSize(1364, 788);
setLocationByPlatform(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(null);
IntervalleTemps it =new IntervalleTemps(150, 10);
it.setLocation(992, 21);
it.setSize(278,25);
panel.add(it); // ajout au conteneur de 'it'
//Ajout de tout le contenu au conteneur
getContentPane().add(panel,BorderLayout.CENTER);
//Boutons et images
//Le bouton 'run'
JButton buttonRun = new JButton("");
buttonRun.setIcon(new ImageIcon(FenetrePrincipale.class.getResource("/sn/esmt/logicieltap/ressources/run.png.png")));
buttonRun.setBounds(46, 658, 56, 35);
panel.add(buttonRun);
//Rectangle vide représentant IT0
JToggleButton toggleButton_16 = new JToggleButton("");
toggleButton_16.setIcon(new ImageIcon(FenetrePrincipale.class.getResource("/sn/esmt/logicieltap/ressources/barre.png")));
toggleButton_16.setBounds(1155, 31, 96, 14);
panel.add(toggleButton_16);
JToggleButton toggleButton_17 = new JToggleButton("");
toggleButton_17.setIcon(new ImageIcon(FenetrePrincipale.class.getResource("/sn/esmt/logicieltap/ressources/barre.png")));
toggleButton_17.setBounds(1155, 52, 96, 14);
panel.add(toggleButton_17);
JToggleButton toggleButton_18 = new JToggleButton("");
toggleButton_18.setIcon(new ImageIcon(FenetrePrincipale.class.getResource("/sn/esmt/logicieltap/ressources/barre.png")));
toggleButton_18.setBounds(1155, 68, 96, 14);
panel.add(toggleButton_18);
JLabel lblIt = new JLabel("IT 0");
lblIt.setBounds(1261, 31, 46, 14);
panel.add(lblIt);
JLabel lblIt_1 = new JLabel("IT 1");
lblIt_1.setBounds(1261, 52, 46, 14);
panel.add(lblIt_1);
JLabel lblIt_2 = new JLabel("IT 2");
lblIt_2.setBounds(1261, 65, 46, 14);
panel.add(lblIt_2);
//Combobox:La barre des intervalles de temps
String[] messageStrings ={"0","1","2"};
JComboBox cmbMessageList = new JComboBox(messageStrings);
cmbMessageList.setBounds(474, 62, 37, 20);
panel.add(cmbMessageList);
//les intervalles de temps à sélectionner
cmbMessageList.addActionListener(e ->{
switch ((String)cmbMessageList.getSelectedItem()) {
case "0":labelIt.setText("IT 0 est réservé ");
break;
case "1":labelIt.setText("Sélection de IT 1");
break;
case "2":labelIt.setText("Sélection de l'IT2");
break;
}
});
//Utilisation uniquement du bouton 'boutonRun'
//Exécuter les actions l'une après l'autre
buttonRun.addActionListener(new WorkflowActionListener(0, (state,e)->{
switch (state) {
case 0:
//System.out.println("buttonRun: state 0");
goMessageIt();
return 1;
case 1:
//System.out.println("buttonRun: state 1");
goIt(it));
return 2;
default:
throw new IllegalStateException("State invalid: " + state);
}
}));
}
/**
- Cette méthode permet de déclencher le mouvement de déclencher la couleur montrant l'IT sélectionné
- @param ura1
- /
private void goIt(IntervalleTemps it) {
new SwingWorker<Void, Void>() {
@Override
protected Void doInBackground() {
for (int i = 0; i < 12; i++) { //270:Distance que le fil doit parcourir avant de s'arrêter
it.incrX();
it.repaint();
it.setVisible(true); //on voit le fil rouge défiler quand on appuie sur le bouton 'run'
}
return null;
}
}.execute();
}
/**
- Méthode de 'la sélection d'IT'
- /
public void goMessageIt(){
JOptionPane.showMessageDialog(null, "Sélectionner un IT");
}
}
public class WorkflowActionListener implements ActionListener{
private int state;
private final BiFunction<Integer, ActionEvent, Integer> actionsPerformed;
public WorkflowActionListener(int init, BiFunction<Integer, ActionEvent, Integer> actionsPerformed) {
state = init;
this.actionsPerformed = actionsPerformed;
}
@Override
public void actionPerformed(ActionEvent e) {
state = actionsPerformed.apply(state, e);
}
}
public class IntervalleTemps extends Component{
private static final long serialVersionUID = 1L;
private int posX;
private int posY;
public IntervalleTemps(int posX, int posY) {
this.posX = posX;
this.posY = posY;
}
@Override
public void paint(Graphics g) {
g.setColor(Color.red);
g.fillRect(posX, posY, 98, 50);
}
public void incrX() {
posX++;
}
public void incrY() {
posY++;
}
}
public class ClassePrincipale {
public static void main(String[] args) {
// TODO Auto-generated method stub
FenetrePrincipale fenetrePrincipale = new FenetrePrincipale();
fenetrePrincipale.setVisible(true);
}
}
https://forums.commentcamarche.net/forum/affich-34673721-windowsbuilder-swing-java#10