Swing java
Fermé
Streamooc
Messages postés
74
Date d'inscription
samedi 17 juin 2017
Statut
Membre
Dernière intervention
8 février 2023
-
Modifié le 22 janv. 2018 à 13:25
Streamooc Messages postés 74 Date d'inscription samedi 17 juin 2017 Statut Membre Dernière intervention 8 février 2023 - 2 juil. 2017 à 20:52
Streamooc Messages postés 74 Date d'inscription samedi 17 juin 2017 Statut Membre Dernière intervention 8 février 2023 - 2 juil. 2017 à 20:52
A voir également:
- Swing java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Télécharger jeux java gameloft gratuit - Forum Mobile
- Java décompiler - Télécharger - Langages
2 réponses
Felice_
Messages postés
265
Date d'inscription
mardi 25 avril 2017
Statut
Membre
Dernière intervention
20 juillet 2017
11
2 juil. 2017 à 16:53
2 juil. 2017 à 16:53
Bonjour Streamooc,
Merci de commencer par mettre ton code entre les balises code avec le type Java.
Merci de commencer par mettre ton code entre les balises code avec le type Java.
Streamooc
Messages postés
74
Date d'inscription
samedi 17 juin 2017
Statut
Membre
Dernière intervention
8 février 2023
2 juil. 2017 à 20:52
2 juil. 2017 à 20:52
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);
}
}
2 juil. 2017 à 17:32
https://forums.commentcamarche.net/forum/affich-34673721-windowsbuilder-swing-java#10