Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3102 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  24  25  26  27  28  29
Auteur Sujet :

[Java] Le topic-passage-obligé pour débutants !

n°2033350
HAXOCIS
Posté le 31-10-2010 à 16:48:08  profilanswer
 

Reprise du message précédent :
Bonjour,
 
J'ai deux questions à vous poser:
 
1/  
On a une classe A qui hérite d'une classe B et qui implémente deux intrefaces I1 et I2 :
 
Voilà ce que j'ai fait au niveau de l'entête :
 
public class A extends B implements I1,I2{...}
 
Est ce que c'est juste?!
 
2/
je veux savoir comment peut on exploiter une classe?
 
Merci d'avance @

mood
Publicité
Posté le 31-10-2010 à 16:48:08  profilanswer
 

n°2033353
masklinn
í dag viðrar vel til loftárása
Posté le 31-10-2010 à 17:16:10  profilanswer
 

HAXOCIS a écrit :

Bonjour,
 
J'ai deux questions à vous poser:
 
1/  
On a une classe A qui hérite d'une classe B et qui implémente deux intrefaces I1 et I2 :
 
Voilà ce que j'ai fait au niveau de l'entête :
 
public class A extends B implements I1,I2{...}
 
Est ce que c'est juste?!


Oui, pourquoi ça le serait pas?

HAXOCIS a écrit :

2/
je veux savoir comment peut on exploiter une classe?


Exploiter? Tu peux clarifier ce que tu entends pas ça?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2033361
HAXOCIS
Posté le 31-10-2010 à 17:39:27  profilanswer
 

Normalement, pour exploiter une classe on peut créer des objets à partir d'une classe ou bien on peut utiliser directement les membres final et statiques d'une classe.
et les méthodes abstraites : sont elles bien efficaces?
Mais, je suis 100% confiant que l'héritage et l'implémentation sont bien des méthodes pour exploiter une classe.

n°2033369
masklinn
í dag viðrar vel til loftárása
Posté le 31-10-2010 à 18:18:57  profilanswer
 

HAXOCIS a écrit :

Normalement, pour exploiter une classe on peut créer des objets à partir d'une classe ou bien on peut utiliser directement les membres final et statiques d'une classe.


[:petrus75]

 

Le classificateur final est orthogonal au fait que ça soit accessibles ou non depuis la classe, tu peux avoir des finaux statiques et des finaux non statiques [:petrus75]

HAXOCIS a écrit :

et les méthodes abstraites : sont elles bien efficaces?


Efficaces pour quoi?

HAXOCIS a écrit :

Mais, je suis 100% confiant que l'héritage et l'implémentation sont bien des méthodes pour exploiter une classe.


Cette phrase ne veut strictement rien dire.


Message édité par masklinn le 31-10-2010 à 18:19:35

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2035186
koskoz
They see me trollin they hatin
Posté le 10-11-2010 à 11:47:40  profilanswer
 

Les JLabels ont une taille prédéfinie ?
Parce que là en gros j'ai un formulaire de deux lignes, sur chaque ligne, un JLabel et un JTextField.

 

Chacune de mes lignes utilise un GridLayout et les deux lignes sont dans un JPanel utilisant un BorderLayout.

 

Deux problèmes :
1) lorsque j'ouvre ma fenêtre (setVisible(true)), celle-ci est minuscule, je suis obligé de l'étirer à la main. Je veux que la taille de la fenêtre soit celle de son contenu, mais le pack() n'a pas l'air de fonctionner.

 

2) l'espace entre mes JLabel et mes JTextfield est trop important, j'aimerai pouvoir le réduire.

 
Code :
  1. public class ApplicationPanelUseCase1 extends JPanel implements ActionListener {
  2.    ApplicationPanelUseCase1(JDialog dialog, Metier metier) {
  3.         this.dialog = dialog;
  4.         this.metier = metier;
  5.         valider.addActionListener(this);
  6.         clear.addActionListener(this);
  7.         exit.addActionListener(this);
  8.         
  9.         JPanel ligneNom = new JPanel();
  10.         ligneNom.setLayout(new GridLayout(1, 2, 0, 0));    
  11.         ligneNom.add(label);
  12.         ligneNom.add(saisie);
  13.         
  14.         JPanel ligneBureau = new JPanel();
  15.         ligneBureau.setLayout(new GridLayout(1, 2, 0 , 0));        
  16.         ligneBureau.add(label2);
  17.         ligneBureau.add(saisie2);
  18.         
  19.         JPanel global = new JPanel();
  20.         global.setLayout(new BorderLayout());
  21.         global.add(ligneNom, BorderLayout.NORTH);
  22.         global.add(ligneBureau, BorderLayout.SOUTH);
  23.  
  24.         this.add(global);
  25.         dialog.pack();
  26.     }
  27. }


Message édité par koskoz le 10-11-2010 à 11:48:25

---------------
Twitter
n°2035187
MEI
|DarthPingoo(tm)|
Posté le 10-11-2010 à 11:50:04  profilanswer
 

C'est dans des cas comme ça qu'on sens que c'est le mal de faire des GUI Java sans utiliser d'IDE. :)
 
Parce que au final tu va galérer longtemps sur ton UI pour avoir un résultat correct alors qu'avec un éditeur t'as ce que tu veux du premier coup, en disons pour ça eux... 1 minute grand max. :)


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°2035192
koskoz
They see me trollin they hatin
Posté le 10-11-2010 à 12:00:59  profilanswer
 

MEI a écrit :

C'est dans des cas comme ça qu'on sens que c'est le mal de faire des GUI Java sans utiliser d'IDE. :)
 
Parce que au final tu va galérer longtemps sur ton UI pour avoir un résultat correct alors qu'avec un éditeur t'as ce que tu veux du premier coup, en disons pour ça eux... 1 minute grand max. :)


 
Ouais mais après pour modifier le code généré, c'est la merde.


---------------
Twitter
n°2035198
the real m​oins moins
Posté le 10-11-2010 à 12:04:14  profilanswer
 

plus trop de nos jours; l'editeur d'intellij est pas mal foutu.
d'une part t'as pas a éditer le code généré, d'autre part tu peux exclure des bouts de code de la génération si tu veux les controler


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°2035223
masklinn
í dag viðrar vel til loftárása
Posté le 10-11-2010 à 12:46:24  profilanswer
 

koskoz a écrit :

Ouais mais après pour modifier le code généré, c'est la merde.


Un vrai UI designer de qualitay il génère pas de code et t'as aucune raison d'aller toucher à ce qu'il fait.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2035225
koskoz
They see me trollin they hatin
Posté le 10-11-2010 à 12:57:09  profilanswer
 

Donc vous me conseillez tous de ne plus me soucier de l'ui ? [:mouais]
 
Et de toute façon là c'est un cas scolaire, on doit le faire à la main :o


---------------
Twitter
mood
Publicité
Posté le 10-11-2010 à 12:57:09  profilanswer
 

n°2035236
MEI
|DarthPingoo(tm)|
Posté le 10-11-2010 à 13:47:52  profilanswer
 

koskoz a écrit :

Donc vous me conseillez tous de ne plus me soucier de l'ui ? [:mouais]
 
Et de toute façon là c'est un cas scolaire, on doit le faire à la main :o


Les profs des fois je me demande s'ils ont fait autre chose qu'enseigner.
 
Parce que y'a aucun intérêt a faire des UI à la main vu que dans TOUT les langages qui existe on a des éditeurs.
Même pour le Web quoi. ;)


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°2035237
masklinn
í dag viðrar vel til loftárása
Posté le 10-11-2010 à 13:49:57  profilanswer
 

MEI a écrit :


Même pour le Web quoi. ;)


non.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2035280
koskoz
They see me trollin they hatin
Posté le 10-11-2010 à 15:14:41  profilanswer
 

Ah ouais mais si vos IDE me pondent un truc aussi dégueulasse que Dreamweaver, moi ça m'intéresse pas :o


---------------
Twitter
n°2036520
koskoz
They see me trollin they hatin
Posté le 17-11-2010 à 09:39:40  profilanswer
 

Et donc vous avez un plugin à conseiller pour Eclipse ou bien je passe à Netbeans ?


---------------
Twitter
n°2036582
the real m​oins moins
Posté le 17-11-2010 à 12:41:19  profilanswer
 

intellij.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°2038328
koskoz
They see me trollin they hatin
Posté le 25-11-2010 à 10:52:38  profilanswer
 

C'est possible d'avoir un array (ou équivalent) à deux dimensions dont les indexes sont un object que j'ai défini et les valeurs de l'array un autre type (float par exemple) ?


---------------
Twitter
n°2038334
MEI
|DarthPingoo(tm)|
Posté le 25-11-2010 à 10:55:58  profilanswer
 

koskoz a écrit :

C'est possible d'avoir un array (ou équivalent) à deux dimensions dont les indexes sont un object que j'ai défini et les valeurs de l'array un autre type (float par exemple) ?


Un array standard non, mais avec un Map tu devrais pouvoir t'en sortir je pense.
 
M'enfin je suis pas bien sur de comprendre ce que tu veux faire en fait en pratique.
Mais associer une valeur a une autre, de deux type différents, une Map peux le faire.
 
http://download.oracle.com/javase/ [...] l/Map.html

Message cité 1 fois
Message édité par MEI le 25-11-2010 à 10:56:47

---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°2038431
koskoz
They see me trollin they hatin
Posté le 25-11-2010 à 14:51:29  profilanswer
 

MEI a écrit :


Un array standard non, mais avec un Map tu devrais pouvoir t'en sortir je pense.
 
M'enfin je suis pas bien sur de comprendre ce que tu veux faire en fait en pratique.
Mais associer une valeur a une autre, de deux type différents, une Map peux le faire.
 
http://download.oracle.com/javase/ [...] l/Map.html


 
Ouais, j'avais testé une hashmap qui contenait une hashmap et un float, mais c'est pas des plus pratique à manipuler en fait :o


---------------
Twitter
n°2038449
MEI
|DarthPingoo(tm)|
Posté le 25-11-2010 à 15:20:07  profilanswer
 

Je vois pas en quoi myMap->get('toto') est plus compliqué à manipuler que myArray['toto']... :??:


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°2039251
akizan
Eye Sca Zi
Posté le 30-11-2010 à 12:41:47  profilanswer
 

Bonjour,
 
super débutant en Java, je ne comprends pas la différence entre :
public static void main(String[] args)
{
}
 
et  
public static void main(String args[])
{
}
 
Quelqu'un peut-il me l'expliquer ?
PS : je sais que [] signifie un tableau de valeurs mais malgré cela, je n'arrive pas à comprendre :(
 
Merci de votre aide :)

n°2039256
MEI
|DarthPingoo(tm)|
Posté le 30-11-2010 à 13:33:22  profilanswer
 

C'est la même chose.
 
On peut mettre l'opérateur tableau au deux endroits sans que ça change quelque chose de mémoire.


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°2039319
akizan
Eye Sca Zi
Posté le 30-11-2010 à 20:43:43  profilanswer
 

ha ok, merci bien ;)

n°2039325
koskoz
They see me trollin they hatin
Posté le 30-11-2010 à 21:18:23  profilanswer
 

Mais au niveau des conventions java il n'est pas préférable de le mettre sur le type ?


---------------
Twitter
n°2039337
astrojojo
Editeur compulsif
Posté le 30-11-2010 à 22:44:53  profilanswer
 

Ca paraitrait effectivement plus logique à mon avis.

n°2039370
MEI
|DarthPingoo(tm)|
Posté le 01-12-2010 à 10:01:11  profilanswer
 

koskoz a écrit :

Mais au niveau des conventions java il n'est pas préférable de le mettre sur le type ?


En théorie oui, mais la seconde forme existe car on est censé pouvoir écrire :
 

Code :
  1. int i, myArray[];


 
Ce qui avec la forme recommandé serait moins concis :

Code :
  1. int i;
  2. int[] myArray;


 
cf : http://download.oracle.com/javase/ [...] rrays.html


Message édité par MEI le 01-12-2010 à 10:01:28

---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°2039711
mapop
Posté le 02-12-2010 à 17:36:49  profilanswer
 

Bonjour à tous!
j'ai un jeu à faire en flash j'ai besoin d'aide!
Je souhaite faire un jeu type Mahjong ou bien mario (rechercher des objets dans un univers en faisant attention à un ennemi) je peux faire ce jeu en AS2 ou AS3 pas d'importance!
merci de m'aider ;-)

n°2039715
MEI
|DarthPingoo(tm)|
Posté le 02-12-2010 à 17:41:48  profilanswer
 

C'est un topic Java ici, pas un topic Flash, je ne pense pas que tu y trouves beaucoup d'aide.


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°2040735
koskoz
They see me trollin they hatin
Posté le 08-12-2010 à 12:05:40  profilanswer
 

J'y comprends rien au GUI d'IntelliJ, quand je fais preview j'ai une fenêtre avec deux boutons et un menu mais quand je regarde le code je ne vois nul part le menu [:dawa]
Encore mieux, quand je design quelque chose from scratch, je fais preview ça fonctionne nickel, je regarde le code source j'ai juste les variables de déclarées [:dawak]

 

Edit : bon, quand je run le truc j'ai plus le menu, mais la preview si :o
Edit 2 : on ne peut que designer des forms avec ? :heink:


Message édité par koskoz le 08-12-2010 à 12:14:40

---------------
Twitter
n°2041458
cabrone235
Posté le 10-12-2010 à 22:39:03  profilanswer
 

Bonjour, je suis un débutant en programmation, je maitrise HTML mais pas le JAVA, au secours.... Voici mon problème, j'utilise le script suivant, un slide d'image, ces images sont cliquables, j'arrive à ouvrir la grande image dans une nouvelle fenetre avec target="blank" mais j'aimerais que la grande image s'affiche en popup ! je sais qu'il faut integrer une fonction mais je n'y arrive pas.QQ pourrait il m'aider en me rajoutant le bout de code manquant et m'indiquer qq explications.
 
Avec toute ma reconnaissance !!!
 
<!-- DEBUT DU SCRIPT CARROUSEL --> <script type="text/javascript">
 
// Spécifiez la largeur du diaporama (en pixel)
var sliderwidth="560px"
// Spécifiez la hauteur du diaporama (en pixel)
var sliderheight="120px"
// Spécifiez la vitesse de défilement (de 1 à 10)
var slidespeed=1
// Spécifiez la couleur du fond
slidebgcolor="#EAEAEA"
// SPECIFICATIONS DU CARROUSEL : chemin des images
// Vous pouvez rendre l'image cliquable
 
var leftrightslide=new Array()
 
var finalslide=''  
 
   
 
 
leftrightslide[0]='<a href="url grande image"><img src="url petite image" border=0></a>'
leftrightslide[1]='<a href="url grande image1"_blank"><img src="url petite image1" border=0></a>'
leftrightslide[2]='<a href="url grande image2"><img src="url petite image2" border=0></a>'
leftrightslide[3]='<a href="url grande image3"><img src="url petite image3" border=0></a>'
leftrightslide[4]='<a href="url grande image4"><img src="url petite image4" border=0></a>'
leftrightslide[5]='<a href="url grande image5"_blank"><img src="url petite image5" border=0></a>'
leftrightslide[6]='<a href="url grande image6"_blank"><img src="url petite image6" border=0></a>'
leftrightslide[7]='<a href="url grande image7"_blank"><img src="url petite image7" border=0></a>'
leftrightslide[8]='<a href="url grande image8"><img src="url petite image8" border=0></a>'
 
 
 
 
 
 
// Spécifiez l'espace entre chaque image (se servir du HTML):
var imagegap=" "
// Spécifiez le nombre de pixels/espace entre chaque rotation du carrousel (nombre entier)
var slideshowgap=20
////NE RIEN EDITER A PARTIR D'ICI////////////
var copyspeed=slidespeed
leftrightslide='<nobr>'+leftrightslide.join(imagegap)+'</nobr>'
var iedom=document.all||document.getElementById
if (iedom)
document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100px;left:-9000px">'+leftrightslide+'</span>')
var actualwidth=''
var cross_slide, ns_slide
function fillup(){
if (iedom){
cross_slide=document.getElementById? document.getElementById("test2" ) : document.all.test2
cross_slide2=document.getElementById? document.getElementById("test3" ) : document.all.test3
cross_slide.innerHTML=cross_slide2.innerHTML=leftrightslide
actualwidth=document.all? cross_slide.offsetWidth : document.getElementById("temp" ).offsetWidth
cross_slide2.style.left=actualwidth+slideshowgap+"px"
}
else if (document.layers){
ns_slide=document.ns_slidemenu.document.ns_slidemenu2
ns_slide2=document.ns_slidemenu.document.ns_slidemenu3
ns_slide.document.write(leftrightslide)
ns_slide.document.close()
actualwidth=ns_slide.document.width
ns_slide2.left=actualwidth+slideshowgap
ns_slide2.document.write(leftrightslide)
ns_slide2.document.close()
}
lefttime=setInterval("slideleft()",30)
}
window.onload=fillup
function slideleft(){
if (iedom){
if (parseInt(cross_slide.style.left)>(actualwidth*(-1)+8 ))
cross_slide.style.left=parseInt(cross_slide.style.left)-copyspeed+"px"
else
cross_slide.style.left=parseInt(cross_slide2.style.left)+actualwidth+slideshowgap+"px"
if (parseInt(cross_slide2.style.left)>(actualwidth*(-1)+8 ))
cross_slide2.style.left=parseInt(cross_slide2.style.left)-copyspeed+"px"
else
cross_slide2.style.left=parseInt(cross_slide.style.left)+actualwidth+slideshowgap+"px"
}
else if (document.layers){
if (ns_slide.left>(actualwidth*(-1)+8 ))
ns_slide.left-=copyspeed
else
ns_slide.left=ns_slide2.left+actualwidth+slideshowgap
if (ns_slide2.left>(actualwidth*(-1)+8 ))
ns_slide2.left-=copyspeed
else
ns_slide2.left=ns_slide.left+actualwidth+slideshowgap
}
}
if (iedom||document.layers){
with (document){
document.write('<table border="0" cellspacing="0" cellpadding="0"><td>')
if (iedom){
write('<div style="position:relative;width:'+sliderwidth+';height:'+sliderheight+';overflow:hidden">')
write('<div style="position:absolute;width:'+sliderwidth+';height:'+sliderheight+';background-color:'+slidebgcolor+'" onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed">')
write('<div id="test2" style="position:absolute;left:0px;top:0px"></div>')
write('<div id="test3" style="position:absolute;left:-1000px;top:0px"></div>')
write('</div></div>')
}
else if (document.layers){
write('<ilayer width='+sliderwidth+' height='+sliderheight+' name="ns_slidemenu" bgColor='+slidebgcolor+'>')
write('<layer name="ns_slidemenu2" left=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>')
write('<layer name="ns_slidemenu3" left=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>')
write('</ilayer>')
}
document.write('</td></table>')
}
}
</script><!-- FIN DU SCRIPT CARROUSEL -->

n°2041460
koskoz
They see me trollin they hatin
Posté le 10-12-2010 à 22:59:34  profilanswer
 

Je crois que t'as confondu Java et JavaScript [:petrus75]


Message édité par koskoz le 10-12-2010 à 22:59:41

---------------
Twitter
n°2042492
koskoz
They see me trollin they hatin
Posté le 15-12-2010 à 20:28:29  profilanswer
 

Y a moyen d'associer aux cells d'une jtable des propriétés ? Parce que là je dois colorier certaines cellules de façons fixe, d'autres en fonction de calculs relatifs à d'auteres cellules, mais je ne vois pas trop comment faire.


---------------
Twitter
n°2042878
LeRiton
Posté le 17-12-2010 à 13:38:55  profilanswer
 

Vu sur un des blabla,  y'aurais un topic unique sur les strings en Java ici, ça avait l'air intéressant... La recherche ne donne rien, quelqu'un a ça sous le coude ?

n°2042885
souk
Tourist
Posté le 17-12-2010 à 14:07:06  profilanswer
 
n°2042893
LeRiton
Posté le 17-12-2010 à 14:22:16  profilanswer
 

:jap:

n°2047033
koskoz
They see me trollin they hatin
Posté le 06-01-2011 à 21:45:52  profilanswer
 

Petit soucis d'alignement vertical en swing.
J'ai un principal avec un GridLayout de deux colonnes et une ligne. Chaque colonne contient elle même un autre panel utilisant GridLayout, chacun de ces deux panels comportant plusieurs lignes mais une seule colonne.
Mon soucis est que lorsqu'un des deux panel n'a pas autant de contenu que l'autre (en l’occurrence, celui de droite, le missionPanel), son contenu est centré verticalement. J'aimerai qu'il soit aligné sur le haut du panel mais je n'ai pas trouvé comment (peut-être utilise-je les mauvais layout).

 
Code :
  1. package ihm;
  2.  
  3. import java.awt.Dimension;
  4. import java.awt.EventQueue;
  5.  
  6. import javax.swing.BorderFactory;
  7. import javax.swing.JFrame;
  8. import java.awt.GridLayout;
  9. import javax.swing.JButton;
  10. import javax.swing.JLabel;
  11. import javax.swing.SwingConstants;
  12. import javax.swing.JPanel;
  13. import java.awt.Font;
  14. import javax.swing.JSeparator;
  15.  
  16. public class Application {
  17.  
  18.     private JFrame frame;
  19.  
  20.     /**
  21.      * Launch the application.
  22.      */
  23.     public static void main(String[] args) {
  24.         EventQueue.invokeLater(new Runnable() {
  25.             public void run() {
  26.                 try {
  27.                     Application window = new Application();
  28.                     window.frame.setVisible(true);
  29.                 } catch (Exception e) {
  30.                     e.printStackTrace();
  31.                 }
  32.             }
  33.         });
  34.     }
  35.  
  36.     /**
  37.      * Create the application.
  38.      */
  39.     public Application() {
  40.         initialize();
  41.     }
  42.  
  43.     /**
  44.      * Initialize the contents of the frame.
  45.      */
  46.     private void initialize() {
  47.         frame = new JFrame("Gestion du personnel" );
  48.         frame.setMinimumSize(new Dimension(300, 0));
  49.         frame.pack();
  50.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  51.         frame.getContentPane().setLayout(new GridLayout(0, 2, 0, 0));
  52.         
  53.         JPanel employeesPanel = new JPanel();
  54.         employeesPanel.setBorder(BorderFactory.createEmptyBorder(15, 15, 15, 15));
  55.         frame.getContentPane().add(employeesPanel);
  56.         employeesPanel.setLayout(new GridLayout(0, 1, 0, 0));
  57.         
  58.         JLabel lblHandleEmployees = new JLabel("Gestion des employées" );
  59.         lblHandleEmployees.setFont(new Font("Tahoma", Font.BOLD, 14));
  60.         employeesPanel.add(lblHandleEmployees);
  61.         lblHandleEmployees.setHorizontalAlignment(SwingConstants.CENTER);
  62.         
  63.         JSeparator separator = new JSeparator();
  64.         employeesPanel.add(separator);
  65.         
  66.         JButton btnCreateEmployee = new JButton("Ajouter un employé" );
  67.         employeesPanel.add(btnCreateEmployee);
  68.         
  69.         JButton btnEditEmployee = new JButton("Modifier un employé" );
  70.         employeesPanel.add(btnEditEmployee);
  71.         
  72.         JButton btnSetVacationsEmployee = new JButton("Fixer une période de congés" );
  73.         employeesPanel.add(btnSetVacationsEmployee);
  74.         
  75.         JButton btnShowEmployee = new JButton("Consulter les informations d'un employé" );
  76.         employeesPanel.add(btnShowEmployee);
  77.         
  78.         /* ---------- Mission panel ---------- */
  79.         JPanel missionsPanel = new JPanel();
  80.         missionsPanel.setBorder(BorderFactory.createEmptyBorder(15, 15, 15, 15));
  81.         frame.getContentPane().add(missionsPanel);
  82.         missionsPanel.setLayout(new GridLayout(0, 1, 0, 0));
  83.         
  84.         JLabel lblHandleMissions = new JLabel("Gestion des missions" );
  85.         lblHandleMissions.setHorizontalAlignment(SwingConstants.CENTER);
  86.         lblHandleMissions.setFont(new Font("Tahoma", Font.BOLD, 14));
  87.         missionsPanel.add(lblHandleMissions);
  88.         
  89.         JSeparator separator_1 = new JSeparator();
  90.         missionsPanel.add(separator_1);
  91.         
  92.         JButton btnCreateMission = new JButton("Ajouter une mission" );
  93.         missionsPanel.add(btnCreateMission);
  94.         
  95.         JButton btnDeleteMission = new JButton("Supprimer une mission" );
  96.         missionsPanel.add(btnDeleteMission);
  97.     }
  98.  
  99. }
 

Autre soucis, étant donné qu'il y a moins de boutons dans le panel de droite, ceux-ci sont plus haut que leurs compères de gauche.

 

Si vous voyez des saloperies dans le code, n'hésitez pas.

 

Merci :jap:


Message édité par koskoz le 06-01-2011 à 21:46:22

---------------
Twitter
n°2047044
koskoz
They see me trollin they hatin
Posté le 06-01-2011 à 22:52:16  profilanswer
 

Et pendant que j'y suis, est-il préférable d'avoir un actionPerformed par class ou un actionPerformed par component, comme ceci :
 

Code :
  1. btnCreateEmployee.addActionListener(new ActionListener() {  
  2.    public void actionPerformed(ActionEvent arg0) {  
  3.        new AddEmployee();  
  4.    }  
  5. });


 
:??:


---------------
Twitter
n°2065245
koskoz
They see me trollin they hatin
Posté le 22-03-2011 à 10:23:13  profilanswer
 

Sur un autre topic on m'a conseillé de sortir l18n de l'enum, mais je ne vois pas comment faire pour relier mon Messages.get("role.professor" ) à mon enum :
 

Code :
  1. public enum Role {
  2.     PROFESSOR (1, Messages.get("role.professor" )),
  3.     STUDENT (2, Messages.get("role.student" ));
  4.     
  5.     private final int id;
  6.     private final String name;
  7.     
  8.     Role(int id, String name) {
  9.         this.id = id;
  10.         this.name = name;
  11.     }
  12.     
  13.     public int getId() {
  14.         return id;
  15.     }
  16.     
  17.     public String getName() {
  18.         return name;
  19.     }
  20. }



---------------
Twitter
n°2065251
masklinn
í dag viðrar vel til loftárása
Posté le 22-03-2011 à 10:35:20  profilanswer
 

koskoz a écrit :

Sur un autre topic on m'a conseillé de sortir l18n de l'enum, mais je ne vois pas comment faire pour relier mon Messages.get("role.professor" ) à mon enum :

 
Code :
  1. public enum Role {
  2.     PROFESSOR (1, Messages.get("role.professor" )),
  3.     STUDENT (2, Messages.get("role.student" ));
  4.     
  5.     private final int id;
  6.     private final String name;
  7.     
  8.     Role(int id, String name) {
  9.         this.id = id;
  10.         this.name = name;
  11.     }
  12.     
  13.     public int getId() {
  14.         return id;
  15.     }
  16.     
  17.     public String getName() {
  18.         return name;
  19.     }
  20. }




Code :
  1. public enum Role {
  2.    PROFESSOR,
  3.    STUDENT;
  4.        
  5.    public String toString() {
  6.        return "role." + this.name().toLowerCase();
  7.    }
  8. }


Code :
  1. Role role = foo.getRole();
  2. String localized = Messages.get(role.toString());
 

et accessoirement, tu peux m'expliquer pourquoi tu définis un id, getId séquentiel pourri alors que t'as Enum#ordinal qui fait très bien le boulot?

Message cité 2 fois
Message édité par masklinn le 22-03-2011 à 10:36:40

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2065254
the real m​oins moins
Posté le 22-03-2011 à 10:44:28  profilanswer
 

masklinn a écrit :


 
et accessoirement, tu peux m'expliquer pourquoi tu définis un id, getId séquentiel pourri alors que t'as Enum#ordinal qui fait très bien le boulot?


j'allais dire que j'étais pas sur que l'ordinal soit garanti mais apparement si... enfin ça dépend qd meme largement des sources, si un guignol s'amuse a réordonner les lignes, c'est le caca :O


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°2065255
koskoz
They see me trollin they hatin
Posté le 22-03-2011 à 10:51:33  profilanswer
 

masklinn a écrit :


Code :
  1. public enum Role {
  2.    PROFESSOR,
  3.    STUDENT;
  4.        
  5.    public String toString() {
  6.        return "role." + this.name().toLowerCase();
  7.    }
  8. }


Code :
  1. Role role = foo.getRole();
  2. String localized = Messages.get(role.toString());
 

et accessoirement, tu peux m'expliquer pourquoi tu définis un id, getId séquentiel pourri alors que t'as Enum#ordinal qui fait très bien le boulot?

 

Sauf qu'en l'occurrence foo.getRole() va me renvoyer un int, car c'est comme ça que mon rôle est stocké en BDD dans ma table user, donc je dois travailler avec les ids.

Message cité 1 fois
Message édité par koskoz le 22-03-2011 à 10:51:59

---------------
Twitter
n°2065256
masklinn
í dag viðrar vel til loftárása
Posté le 22-03-2011 à 10:59:51  profilanswer
 

the real moins moins a écrit :


j'allais dire que j'étais pas sur que l'ordinal soit garanti mais apparement si... enfin ça dépend qd meme largement des sources, si un guignol s'amuse a réordonner les lignes, c'est le caca :O


Ouais enfin en même temps ordinal() et getId() c'est pour faire joli et pour débugger, parce que si tu commences à ballader des références à des items d'enums à coup de ordinal() ou getId(), tu manques de coup de battes dans les genoux. Même si tu veux garder une référence genre dans une db tu utilises name(), histoire de pouvoir désérialiser via Enum.valueOf.

koskoz a écrit :


 
Sauf qu'en l'occurrence foo.getRole() va me renvoyer un int, car c'est comme ça que mon rôle est stocké en BDD dans ma table user, donc je dois travailler avec les ids.


Putain mais à mort [:pingouino]

Message cité 1 fois
Message édité par masklinn le 22-03-2011 à 11:01:21

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  24  25  26  27  28  29

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Java] Outil de gestion de "composants"; GraphEdit "like"[Java/xml] Caractères à la con ds un .xml généré en dom
Cryptage md5 & javaGénération d'images en Java (server side)
[Java] [Resolu] Erreur ODBC État de curseur non valide[JAVA] caractères accentué différents selon OS
[JAVA] Pb affichage caractèrecréer un répertoire en java
copier-coller en javapassage de c++ a php
Plus de sujets relatifs à : [Java] Le topic-passage-obligé pour débutants !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR