flingue
Messages postés3Date d'inscriptionsamedi 20 décembre 2008StatutMembreDernière intervention15 février 2009
-
14 févr. 2009 à 16:02
flingue
Messages postés3Date d'inscriptionsamedi 20 décembre 2008StatutMembreDernière intervention15 février 2009
-
15 févr. 2009 à 19:39
Bonjour
je suis debutant en en java
Voici mon pb
objectif : affichiche une fenetre un avec panel qui contient deux boutons
j'ai un programme "test" et "une class VueButton", le pb c'est que le panel avec les 2 boutons ne s'affiche pas lorsque je lance le prog
rq: pas d'erreur de compil
merci de votre aide
flingue
Messages postés3Date d'inscriptionsamedi 20 décembre 2008StatutMembreDernière intervention15 février 2009 15 févr. 2009 à 10:25
Bonjour
Merci de ta réponse, cela fonctionnne, par contre est-il possible d'avoir des explications :
pourquoi vous ne mettez plus de jpanel ?
est commenent faire si je veux faire un un fichier main
avec 2 classes differentes, mon but est de avoir 3 panels dans la fenetre (un compteur, index de compteur, et plus et moins)
on final je serais censé d'utilisé la methode "Modele view Controler"
rq:on nous impose de tous separé
A+
uhrand
Messages postés491Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention15 juillet 20129 15 févr. 2009 à 16:44
Je ne mettais plus de JPanel parceque la classe elle-même est déja un JPanel
(nous pouvons évidemment mettre un deuxième JPanel, mais il faut alors l'ajouter à l'autre).
Voici un exemple de 'Model-View-Controller' avec deux JButton et un JTextField:
import java.awt.*;
import javax.swing.*;
public class CountView extends JFrame {
private JButton btMinus;
private JButton btPlus;
private JTextField tfCount;
private Model model;
private Controller controller;
public CountView() {
super("CountDemo");
initComponents();
controller = new Controller();
model = new Model();
controller.setModel(model);
controller.setView(this);
btPlus.addActionListener(controller);
btMinus.addActionListener(controller);
}
public void updateCount() {
tfCount.setText(String.valueOf(model.getCount()));
}
private void initComponents() {
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setSize(300, 70);
setLocationRelativeTo(null);
btPlus = new JButton();
btMinus = new JButton();
tfCount = new JTextField();
getContentPane().setLayout(new GridLayout());
btPlus.setText("+");
btPlus.setActionCommand("plus");
getContentPane().add(btPlus);
btMinus.setText("-");
btMinus.setActionCommand("minus");
getContentPane().add(btMinus);
getContentPane().add(tfCount);
}
public static void main(final String[] args) {
Runnable gui = new Runnable() {
public void run() {
new CountView().setVisible(true);
}
};
//GUI must start on EventDispatchThread:
SwingUtilities.invokeLater(gui);
}
}
import java.awt.event.*;
public class Controller implements ActionListener {
private Model model;
private CountView view;
public Controller() {
}
public Model getModel() {
return model;
}
public void setModel(final Model model) {
this.model = model;
}
public CountView getView() {
return view;
}
public void setView(final CountView view) {
this.view = view;
}
public void actionPerformed(final ActionEvent e) {
if (e.getActionCommand().equals("plus")) {
model.setCount(model.getCount() + 1);
} else if (e.getActionCommand().equals("minus")) {
model.setCount(model.getCount() - 1);
}
view.updateCount();
}
}
public class Model {
int count;
public Model() {
}
public int getCount() {
return count;
}
public void setCount(final int count) {
this.count = count;
}
}
flingue
Messages postés3Date d'inscriptionsamedi 20 décembre 2008StatutMembreDernière intervention15 février 2009 15 févr. 2009 à 19:39
Une derniere petite question , est ce que en general on met tous dans le m^me fichier, parceque ma prof nous force a créér differents fichier et un main avec le mons de donner possible
Et encore un grand merci pour tes réponses, je dois etudier cela parceque pour moi c'est déjà un niveau expert et il y a beaucoups chose que je n'ai jamais vue
A+