Salut tout le monde,
encore une question, je doit remplir à la main un tableau a deux dimensions de 9 sur 9. Quel est la meilleures solütion ??? parce que rentrer 81 nombre et faire 81 Enter ou Ok sur un bouton cest pas super non ???
merci
Version imprimable
Salut tout le monde,
encore une question, je doit remplir à la main un tableau a deux dimensions de 9 sur 9. Quel est la meilleures solütion ??? parce que rentrer 81 nombre et faire 81 Enter ou Ok sur un bouton cest pas super non ???
merci
Ben ça dépend si les valeurs à insérer ont une relation entre elles ou en fonction de leur position.
je suppose que c'est encore du sudoku ?? ;)
tu peux aussi utiliser un fichier que tu lis avec pour chaque ligne 81 valeurs (par exemple)
ou alors chercher du coté d'un générateur aléatoire ... mais le pb du sudoku, c'est qu'il faut que la grille soit faisable ...
Ouai exactement c'est encore pour mon Sudoku ! Non je suis clair la dessus le but c'est que l'on puisse rentrer les nombres assez rapidement par rapport a une grille donnée sur un journal par exemple... rien de plus !
j'avais penser de rentrer les nombre en ligne de commande et séparés par des virgules et ensuite on split à chacune d'entre elle.
Pour etre propre on pourrai faire une chaine des nombre pour chaque ligne non ?
Ton application est graphique ou en ligne de commande ?Citation:
Envoyé par cyrill
Si c'est graphique, c'est pas très dur de saisir les chiffres les uns après les autres.
Si c'est en ligne de commande, je pense que le mieux, c'est quand même un fichier, ou alors, tu entre chaque ligne l'une après l'autre...
Effectivement, à part faire une petite application swing (ce qui aprés tout n'est pas trés difficile), je ne pense pas qu'il y ai une meilleur solution que de rentrer les chiffres en une foi séparé par des virgules et ensuite de les splitter.
En swing, un petit GridLayout(9,9) de JTextField irait bien, sinon en ligne de commandes j'opterai pour un fichier.
mouai je n'ai rien contre faire une petite interface graphique mais je suis encore un peu un n00b lol !
Mais ok partons du principe pour l'interface graphique pour rentrer les nombre ! maintenant comme je ne connais pas trop et surtout ne voit pas vraiment procéder, est-ce que quelqu'un a une méthode facile pour remplir ma grille ?
PS: wichtounet jolie ta new image ! lol
Tu veut faire un remplissage automatique style générateur, ou alors un remplisage de l'utilisateur ?Citation:
Envoyé par cyrill
Premier cas : tu boucles sur tout tes textField et tu fous une valeur dedans
Deuxième cas : l'utilisateur passe d'un textField à un autre et modifie les données, je vois pas trop le problème pour ce cas-là.
Pas mal hein :mouarf:Citation:
Envoyé par cyrill
voici ce que j'ai deja fait !
mais maintenant ma question est comment voulez-vous écrire les nombre ? chacun dans une case ? dans une zone de texte et ensuite spliter ??? help me please !Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public static void main(String[] args){ JFrame myFrame = new JFrame(); JPanel panel = new JPanel(); GridLayout gridSudo = new GridLayout(3, 2, 5, 5); panel.setLayout(gridSudo); panel.applyComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT); myFrame.setContentPane(panel); myFrame.setTitle("Grille Sudoku"); myFrame.setBounds(100,100,300,200); myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); myFrame.setVisible(true); } }
non cest le second cas ! pour que le user tape lui meme ! donc pour monter linterface je n'ai pas vraiment de soucis a mon avis mais donc je fais 81 JTextField ???Citation:
Envoyé par wichtounet
bon en faite je galère deja pour l'interface graphique lol... je n'arrive pas a faire sous forme de grille 9*9...
Ben oui tu fais une grille 9x9 de JTextField. Un gridBagLayout serait surement adapté ici.
Par contre je pense que tu ne dois pas tous remplir, donc tu peux initialiser à 0 toutes les cases et l'utilisateur saisit les cases renseignées.
De plus, il te faudra surement un controle qui vérifie que l'utilisateur a bien saisi des chiffres de 1 à 9
donc je dois créer 81 JTextField ????
ouiCitation:
Envoyé par cyrill
sympa.. lol je vais essayer tout sa merci
Ouai mais bon cest ultra violent le LayoutBag truc !!! ya pas un exemple de base pour montrer comment le construire ?
Salut,
La question a un peu dévié sur le GUI, mais il serait plus simple d'utiliser une JTable plutôt que de se taper 81 composants...
a++Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 /* Initialisation de la combo de sélection des nombres pour l'édition : */ JComboBox combo = new JComboBox(new Integer[]{ null, 1, 2, 3, 4, 5, 6, 7, 8, 9 }); /* Création de la JTable de 9x9 qui utilise la combo comme éditeur : */ JTable table = new JTable(9,9); table.setDefaultEditor(Object.class, new DefaultCellEditor(combo)); /* Création de la boite de dialogue de saisie : */ JDialog dialog = new JDialog(); dialog.setModal(true); dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog.getContentPane().add(table); dialog.pack(); dialog.setLocationRelativeTo(null); /* Affichage modal (donc bloquant) */ dialog.setVisible(true); /* Affichage du contenu du modèle de la JTable : */ TableModel model = table.getModel(); for (int i=0; i<9; i++) { for (int j=0; j<9; j++) { Object value = model.getValueAt(i,j); System.out.print( value==null ? "." : value ); System.out.print(" "); } System.out.println(); }
ha ouais sa peut le faire effectivement !
mais je ne comprend pas grand chose... je ne sais meme pas comment faire pour redimensionner les case ou meme la frame dans ce code...
bon je suis motive pour utiliser ce systeme ! mais mainteant je n'arrive pas à faire insérer les valeurs dans mon tableau parce que value est de type Object et ma grille et de type int...
on peut convertir ?