jQuery
En savoir plus
Adobe Flex & Flash
En savoir plus
ASP.NET
En savoir plus

|
Par
cysboy
Mise à jour : 12/02/2010
96 702 visites depuis 7 jours,
dont 505 sur ce chapitre
classé 4/786
|


1 2 3 4 | int i = (int)(Math.random() * 100000); while(i > 336529){ i /= 2; } |
1 | int nbre = (int)(Math.random()*336529); |





| Pseudo | Commentaire | ||
|---|---|---|---|
dgehell
|
# Posté le 04/11/2009 à 15:47:11 | ||
|
|
Bonjour. Un TP où on s'aperçoit qu'entre comprendre et écrire, il y a un monde quand on découvre tout (package, emploi des classes, ...). L'exéction du code ne donne pas le même rendu selon que la dernière bonne lettre cliquée est une voyelle (tableau) ou une consonne (scalaire) : on passe dans 2 parties de code différentes pour traiter public void assign(char[] c) ou public void assign(char c) dans Model.java. Il y a une mise à jour écran qui ne s'effectue pas. A mon avis le bon code est, parce qu'il fonctionne bien : this.nombreMot++; this.restartObserver(); } //else this.notifyObserver(); J'ai vu ce problème quand j'ai renvoyé le traitement du scalaire sur le traitement du tableau pour n'avoir qu'un code. Autre point de détail, si on espionne le mot à trouver lors de sa création, avec le premier appel à un nouveau mot, on a le mot issu de l'ouverture de l'appli et non le mot dernièrement calculé. Un println bien placé permet de bien le voir. Pour l'instant je n'ai pas vu le mécanisme de cet "oubli". Si quelqu'un a une idée... |
||
Satch33
|
# Posté le 12/05/2010 à 15:11:40 | ||
![]()
|
Waow ! Quel bon TP ! Bien long, ya de tout, et en prime on a un super jeu trop dur ![]() J'espère le finir un jour xD |
||
lebossejames
|
# Posté le 22/05/2010 à 10:15:07 | ||
|
|
je n'ai pas compris à quoi sert les classes controler et assign?? surtout ces lignes : Code : Java
|
||
mwenmwen
|
# Posté le 23/01/2011 à 18:29:49 | ||
|
|
Bonjour, j'ai téléchargé le fichier .zip mais je n'ai pas tous les documents. Le fichier est quasiment vide. Est- il possible d'avoir le bon fichier? Merci bien |
||
artistou
|
# Posté le 01/02/2011 à 12:42:09 | ||
|
|
Bonjour a tous j ai realise une application selon le model MVC dans la partie vue j ai mis un Menubar contenant des jmenu ensuite j ai lie chaque jmenu a sa propre classe(contenant une methode getpanel() ) pour l afficher ensuite dans la Fenetre a travers cette methode mon probleme c ke lors de l affichage de la classe CalculPanel j ai eu des problemes d affichage puisque j ai utilise des Jsplit est ce que kelkun peut m aider Svp VOICI LES DEUX CLASSES import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Dimension; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JCheckBoxMenuItem; import javax.swing.JColorChooser; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTable; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.table.DefaultTableModel; import Model.Model; import Observer.Observable; import Control.Control; import Model.ObjectData; import Observer.Observer; public class Fenetre extends JFrame implements Observer { DefaultTableModel tmn =null; PnlChart pnlChart=new PnlChart(); private Dimension size; private Observable model; private JPanel conteneur = new JPanel(); public Fenetre(Observable obs){ this.setLocationRelativeTo(null); this.setTitle("AEBT SOFTWARE"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(850, 800); this.setResizable(false); this.model = obs; this.model.addObserver(this); this.size = new Dimension(this.getWidth(), this.getHeight()); this.conteneur.setPreferredSize(this.size ); this.setContentPane(this.conteneur); createMenu(); this.conteneur.add(new AccueilPanel(this.size).getPanel()); } private void createMenu() { ActionsColors actions = new ActionsColors(); JMenuBar mBar = new JMenuBar(); setJMenuBar( mBar ); JMenu file = new JMenu( "File" ); mBar.add( file ); JMenuItem New = new JMenuItem( "New" ); New.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { conteneur.removeAll(); CalculPanel gp = new CalculPanel(size, model); model.addObserver(gp); conteneur.add(gp.getPanel(), BorderLayout.CENTER); conteneur.revalidate(); initModel(); } }); file.add( New ); JMenuItem save = new JMenuItem( "Save" ); file.add( save ); JMenuItem print = new JMenuItem( "Print" ); file.add( print ); JMenuItem exit = new JMenuItem( "Exit" ); exit.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ System.exit(0); } }); file.add( exit ); // creation des chex box JMenu jm = new JMenu( "Options" ); mBar.add( jm ); JCheckBoxMenuItem chkItm = new JCheckBoxMenuItem( "Coords sur la souris" ); chkItm.setActionCommand( "onMouse" ); chkItm.addActionListener( actions ); chkItm.setSelected( pnlChart.isBubleOnMouse() ); jm.add( chkItm ); chkItm = new JCheckBoxMenuItem( "Affiche les coords" ); chkItm.setActionCommand( "coords" ); chkItm.addActionListener( actions ); chkItm.setSelected( pnlChart.isUseBuble() ); jm.add( chkItm ); chkItm = new JCheckBoxMenuItem( "Affiche les Points" ); chkItm.setActionCommand( "node" ); chkItm.addActionListener( actions ); chkItm.setSelected( pnlChart.isShowNode() ); jm.add( chkItm ); chkItm = new JCheckBoxMenuItem( "Affiche la croix" ); chkItm.setActionCommand( "cross" ); chkItm.addActionListener( actions ); chkItm.setSelected( pnlChart.isUseMouseCross() ); jm.add( chkItm ); chkItm = new JCheckBoxMenuItem( "Points sur courbe" ); chkItm.setActionCommand( "onLine" ); chkItm.addActionListener( actions ); chkItm.setSelected( pnlChart.isNodeOnLine() ); jm.add( chkItm ); // creation des menu items couleur jm = new JMenu( "Couleurs" ); mBar.add( jm ); JMenuItem mit = new JMenuItem( "Courbe" ); mit.setActionCommand( "courbe" ); mit.addActionListener( actions ); jm.add( mit ); mit = new JMenuItem( "Coords" ); mit.setActionCommand( "coords" ); mit.addActionListener( actions ); jm.add( mit ); mit = new JMenuItem( "Points" ); mit.setActionCommand( "node" ); mit.addActionListener( actions ); jm.add( mit ); mit = new JMenuItem( "Axes" ); mit.setActionCommand( "axes" ); mit.addActionListener( actions ); jm.add( mit ); mit = new JMenuItem( "Croix" ); mit.setActionCommand( "cross" ); mit.addActionListener( actions ); jm.add( mit ); JMenu help = new JMenu( "Help" ); mBar.add( help ); JMenuItem aide = new JMenuItem( "Help ??" ); aide.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ImageIcon img = new ImageIcon("Picture/Aebt.PNG"); JOptionPane.showMessageDialog(null, "Créateur: Alaeddine Boubaker.\nEncadreur:Mister David Flinspach (Aebt)" + ".\nLicense: Freeware.\nCopyright: ala.boubaker@gmail.com", "Information", JOptionPane.NO_OPTION,img); } }); help.add( aide ); JMenuItem about = new JMenuItem( "About" ); about.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null, "Créateur: Alaeddine Boubaker.\nEncadreur:Mister David Flinspach (Aebt)" + ".\nLicense: Freeware.\nCopyright: ala.boubaker@gmail.com", "Information", JOptionPane.NO_OPTION); } }); help.add( about ); } class ActionsColors implements ActionListener { public void actionPerformed( ActionEvent e ) { String action = e.getActionCommand(); if ( action.equals( "courbe" ) ) pnlChart.setColorLine( getColor( "de la courbe. ", pnlChart.getColorLine() ) ); else if ( action.equals( "coords" ) ) pnlChart.setColorText( getColor( "du text. ", pnlChart.getColorText() ) ); else if ( action.equals( "node" ) ) pnlChart.setColorNode( getColor( "des points. ", pnlChart.getColorNode() ) ); else if ( action.equals( "axes" ) ) pnlChart.setColorAxes( getColor( "des axes. ", pnlChart.getColorAxes() ) ); else if ( action.equals( "cross" ) ) pnlChart.setColorCross( getColor( "de la croix. ", pnlChart.getColorCross() ) ); pnlChart.fireTriggerDraw(); pnlChart.repaint(); } } private Color getColor( String titre, Color col ) { return JColorChooser.showDialog( this, "Choix de la couleur " + titre, col ); } class ActionsFlags implements ActionListener { public void actionPerformed( ActionEvent e ) { String action = e.getActionCommand(); JCheckBoxMenuItem source = (JCheckBoxMenuItem)e.getSource(); if ( action.equals( "node" ) ) pnlChart.setShowNode( source.isSelected() ); else if ( action.equals( "onMouse" ) ) pnlChart.setBubleOnMouse( source.isSelected() ); else if ( action.equals( "coords" ) ) pnlChart.setUseBuble( source.isSelected() ); else if ( action.equals( "cross" ) ) pnlChart.setUseMouseCross( source.isSelected() ); else if ( action.equals( "onLine" ) ) pnlChart.setNodeOnLine( source.isSelected() ); pnlChart.fireTriggerDraw(); pnlChart.repaint(); } } @Override public void update(String λsmax, String qsmax, String qamax, String qbmax, ArrayList<ObjectData> list, int i) { // TODO Auto-generated method stub } @Override public void updateThrb(String valueOf) { // TODO Auto-generated method stub } @Override public void updateThra(String valueOf) { // TODO Auto-generated method stub } private void initModel(){ this.model = new Model(); this.model.addObserver(this); } } la 2eme classe import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTable; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.table.DefaultTableModel; import Control.Control; import Model.Model; import Model.ObjectData; import Observer.Observable; import Observer.Observer; public class CalculPanel extends ZContainer implements Observer{ private Dimension dimension = new Dimension(); private Control control; DefaultTableModel tmn =null; PnlChart pnlChart=new PnlChart(); //On déclare notre objet JTextPane private JTextArea textPane = new JTextArea(); //L'objet qui va gérer le scroll //En lui passant un objet JComponent dans le constructeur private JScrollPane scroll = new JScrollPane(textPane); //Vous êtes habitués à cette classe, maintenant... ![]() //On déclare notre objet JSplitPane private JSplitPane split, split2, split3; private JPanel pan,pan2,pan3,pan4; private JTextField λs,λa,λb,DTA,DTB,THRS,THRA,THRB,QA,QB,QMAX,λmax; private JLabel ALabel, BLabel, DTALabel, DTBLabel,thraLabel,thrbLabel ,thrsLabel,λsLabel, portlabel, syslabel,QaLabel,QbLabel,TestLabel,QmaxLabel,λmaxLabel; private JComboBox port; private JCheckBox sys; public CalculPanel(Dimension dim, Observable mod) { super(dim); this.control = new Control(mod); initPanel(); } protected void initPanel() { //On crée deux conteneurs de couleurs différentes pan = new JPanel(); pan2 = new JPanel(); pan3 = new JPanel(); pan4 = new JPanel(); //λ JPanel panλ = new JPanel(); panλ.setBackground(Color.white); panλ.setPreferredSize(new Dimension(400, 70)); panλ.setBorder(BorderFactory.createTitledBorder("λ value")); λa = new JTextField(); λa.setPreferredSize(new Dimension(100, 25)); ALabel = new JLabel("λa [1/h]"); λb = new JTextField(); λb.setPreferredSize(new Dimension(100, 25)); BLabel = new JLabel("λb [1/h]"); panλ.add(ALabel); panλ.add(λa); panλ.add(BLabel); panλ.add(λb); pan.add(panλ); //DT JPanel pandt = new JPanel(); pandt.setBackground(Color.white); pandt.setPreferredSize(new Dimension(400, 70)); pandt.setBorder(BorderFactory.createTitledBorder(" DT value")); DTA = new JTextField(); DTA.setPreferredSize(new Dimension(100, 25)); DTALabel= new JLabel("DTA [h]"); DTB = new JTextField(); DTB.setPreferredSize(new Dimension(100, 25)); DTBLabel = new JLabel("DTB [h]"); pandt.add(DTALabel); pandt.add(DTA); pandt.add(DTBLabel); pandt.add(DTB); pan.add(pandt); //PORT JPanel panport = new JPanel(); panport.setBackground(Color.white); panport.setPreferredSize(new Dimension(400, 70)); panport.setBorder(BorderFactory.createTitledBorder("Port")); THRS = new JTextField(); THRS.setPreferredSize(new Dimension(100, 25)); thrsLabel= new JLabel("THRS [1/h]"); port= new JComboBox(); port.addItem("AND"); port.addItem("OR"); portlabel=new JLabel("Port"); panport.add(portlabel); panport.add(port); panport.add(thrsLabel); panport.add(THRS); pan.add(panport); //THR et λ JPanel panThλ4 = new JPanel(); panThλ4.setBackground(Color.white); panThλ4.setPreferredSize(new Dimension(400, 70)); panThλ4.setBorder(BorderFactory.createTitledBorder(" λS")); λs = new JTextField(); λs.setPreferredSize(new Dimension(100, 25)); λsLabel = new JLabel("λs(max)"); QMAX = new JTextField(); QMAX.setPreferredSize(new Dimension(100, 25)); QmaxLabel= new JLabel("QMAX(S) [1]"); panThλ4.add(λsLabel); panThλ4.add(λs); panThλ4.add(QmaxLabel); panThλ4.add(QMAX); pan4.add(panThλ4); //Q JPanel panQ = new JPanel(); panQ.setBackground(Color.white); panQ.setPreferredSize(new Dimension(400, 80)); panQ.setBorder(BorderFactory.createTitledBorder(" QMAX values")); QA = new JTextField(); QA.setPreferredSize(new Dimension(100, 25)); QaLabel= new JLabel("QMAX(A) [1]"); QB = new JTextField(); QB.setPreferredSize(new Dimension(100, 25)); QbLabel = new JLabel("QMAX(B) [1]"); panQ.add(QaLabel); panQ.add(QA); panQ.add(QbLabel); panQ.add(QB); pan4.add(panQ); //THR JPanel panThr = new JPanel(); panThr.setBackground(Color.white); panThr.setPreferredSize(new Dimension(400, 70)); panThr.setBorder(BorderFactory.createTitledBorder(" THR values")); THRA = new JTextField(); THRA.setPreferredSize(new Dimension(100, 25)); thraLabel= new JLabel("THRA [1/h]"); THRB = new JTextField(); THRB.setPreferredSize(new Dimension(100, 25)); thrbLabel = new JLabel("THRB [1/h]"); panThr.add(thraLabel); panThr.add(THRA); panThr.add(thrbLabel); panThr.add(THRB); pan4.add(panThr); // controlPan1 JPanel controlPan1 = new JPanel(); JButton calculBouton = new JButton("calcul λmax "); calculBouton.addActionListener(new CalculListener()); JButton ThraBouton = new JButton("calcul THRA"); ThraBouton.addActionListener(new ThraListener ()); JButton ThrbBouton = new JButton("calcul THRB"); ThrbBouton.addActionListener(new ThrbListener ()); controlPan1.add(calculBouton); controlPan1.add(ThraBouton); controlPan1.add(ThrbBouton); pan.add(controlPan1); //On construit enfin notre séparateur split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, pan, pan4); //On place le séparateur split.setDividerLocation(400); split2 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, pan3, pan2); //On place le séparateur split2.setDividerLocation(400); //On passe les deux précédents JSplitPane à celui-ci split3 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, split, split2); //On place le séparateur split3.setDividerLocation(270); //On le passe ensuite au contentPane de notre objet Fenetre //placé au centre pour qu'il utilise tout l'espace disponible this.panel.add(split3,BorderLayout.CENTER); } public JSplitPane getSplit3() { return split3; } class CalculListener implements ActionListener { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub if(λa.getText()!=""&&λb.getText()!=""&&DTA.getText()!=""&&DTB.getText()!="") control.control1(λa.getText(),λb.getText(),DTA.getText(),DTB.getText()); else { JOptionPane.showMessageDialog(null, "please check your input Value ", "Information", JOptionPane.NO_OPTION); } } } class ThraListener implements ActionListener { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub if(λb.getText()!=""&&DTA.getText()!=""&&DTB.getText()!=""&&THRS.getText()!="") control.control3(λb.getText(),DTA.getText(),DTB.getText(),THRS.getText()); else { JOptionPane.showMessageDialog(null, "please check your input Value ", "Information", JOptionPane.NO_OPTION); } } } class ThrbListener implements ActionListener { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub if(λa.getText()!=""&&DTA.getText()!=""&&DTB.getText()!=""&&THRS.getText()!="") control.control2(λa.getText(),DTA.getText(),DTB.getText(),THRS.getText()); else { JOptionPane.showMessageDialog(null, "please check your input Value ", "Information", JOptionPane.NO_OPTION); } } } public void update(String λsmax, String qsmax, String qamax, String qbmax,ArrayList <ObjectData> list,int l) { // TODO Auto-generated method stub λs.setText(λsmax); QMAX.setText(qsmax); QA.setText(qamax); QB.setText(qbmax); // Jtable JScrollPane sclp =new JScrollPane(); sclp.setPreferredSize(new Dimension(400,470)); JTable table=new JTable(); tmn=new DefaultTableModel(); table.setModel(tmn); tmn.addColumn("T"); tmn.addColumn("QA"); tmn.addColumn("QB"); tmn.addColumn("QS"); tmn.addColumn("λS"); for(ObjectData com :list) { Object[] vals={new Double(com.getT()),new Double(com.getQa()),new Double(com.getQb()),new Double(com.getQs()),new Double(com.getΛs()) }; tmn.addRow(vals); } sclp.getViewport().add(table); pan3.add(sclp); pan3.revalidate(); pnlChart = new PnlChart(); pnlChart.setTable(table); pnlChart.setPreferredSize(new Dimension(400,470)); pan2.add(pnlChart); pan2.revalidate(); } @Override public void updateThrb(String Qb) { // TODO Auto-generated method stub THRB.setText(Qb); } public void updateThra(String Qa) { // TODO Auto-generated method stub THRA.setText(Qa); } } |

















