salut je veut créer une interface graphique avec java où je peut dessiner et introduire des textes, et je sais pas comment faire, ya-t-il une solution?
salut je veut créer une interface graphique avec java où je peut dessiner et introduire des textes, et je sais pas comment faire, ya-t-il une solution?
Oui : Swing.
When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.
Pour donner une réponse un peu plus détaillé que InOCamlWeTrust![]()
Je dirais que tu as des cours et des tuto sur les interfaces graphiques sur ce magnifique site de DVP.com
Pas de questions technique par MP, les forums sont là pour ça.
Swing/awt/swt. Je crois que vous avez du boulot![]()
j'ai essayé avec swing et awt mais le problème c'est que les textes introduits dans le programme ne s'affichent pas dans l'interface, TextField et TextArea s'affichent tandis que les JTextField et JTextArea sont invisibles
Bonjour Omar,
Envoyer votre code s'til vous plait.
A prioris si vous arrivez a faire fonctionner un TextField vous devriez faire tourner un JTextField.
Swing et awt sont dans l'API java de base.![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100 import java.awt.*; import javax.swing.*; public class cadre1 extends Frame { cadre1() { setLayout(null); //fonte du remplissage Font fonterempli=new Font("TimesNewRomain", Font.PLAIN, 15); JTextArea lun810=new JTextArea("moi"); add(lun810); lun810.reshape(77, 274, 199, 68); lun810.setFont(fonterempli); TextField lun1012=new TextField("toi"); add(lun1012); lun1012.reshape(280, 274, 199, 68); lun1012.setFont(fonterempli); lun1012.setEditable(true); } //traçage du tableau public void paint(Graphics g) { g.drawLine(5, 240, 781, 240); g.drawLine(5, 241, 781, 241); g.drawLine(5, 271, 781, 271); g.drawLine(5, 272, 781, 272); g.drawLine(5, 341, 781, 341); g.drawLine(5, 342, 781, 342); g.drawLine(5, 411, 781, 411); g.drawLine(5, 412, 781, 412); g.drawLine(5, 481, 781, 481); g.drawLine(5, 482, 781, 482); g.drawLine(5, 551, 781, 551); g.drawLine(5, 552, 781, 552); g.drawLine(5, 621, 781, 621); g.drawLine(5, 622, 781, 622); g.drawLine(5, 240, 5, 622); g.drawLine(6, 240, 6, 622); g.drawLine(76, 240, 76, 622); g.drawLine(77, 240, 77, 622); g.drawLine(277, 272, 277, 622); g.drawLine(278, 272, 278, 622); g.drawLine(478, 272, 478, 622); g.drawLine(479, 272, 479, 622); g.drawLine(679, 272, 679, 410); g.drawLine(680, 272, 680, 410); g.drawLine(576, 412, 576, 480); g.drawLine(577, 412, 577, 480); g.drawLine(679, 482, 679, 622); g.drawLine(680, 482, 680, 622); g.drawLine(780, 240, 780, 622); g.drawLine(781, 240, 781, 622); } public static void main(String[] argv) { Frame f=new Frame("moi"); cadre1 fenetre = new cadre1(); fenetre.setVisible(true); fenetre.setSize(1000, 700); fenetre.setResizable(false); } }
Normal, la redéfinition de paint que tu fais implique que tu redessine rien d'autre que tes traits (de ce fait le composants fils en sont plus dessinés).
Pour faire du dessin sur un composant Swing il faut redéfinir la méthode paintComponent.
Et pour que son contenu s'affiche correctement il faut également faire un appel à super.paintComponent(Graphics g) dans ton paintComponent.
Ensuit si tu veux faire un vrai tableau je te recommandes très fortement de te diriger vers une JTable
PS: Merci de penser aux balises code autour du code que tu mets dans tes messages (c'est bouton # au dessus de la boite de saisie)
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.
Voila j'ai tout refait.
Il y avait plusieurs erreurs et maladresses.
Le nom des classes commencent par une majuscule (ce n'est pas obligatoire mais tout le monde fait ca)
Ensuite si vous avez des composants J......... il faut les placer dans une JFrame ou un JPanel.
Ensuite toujours redefinir le panel qui sera le contentPane lors de trace graphique.
![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 import java.awt.*; import javax.swing.*; public class Cadre1 extends JPanel { public Cadre1() { super(); setSize(1000, 700); setLayout(null); //fonte du remplissage Font fonterempli=new Font("TimesNewRomain", Font.PLAIN, 15); JTextArea lun810=new JTextArea("moi"); lun810.setBounds(77, 274, 199, 68); add(lun810); lun810.setFont(fonterempli); TextField lun1012=new TextField("toi"); lun1012.setBounds(280, 274, 199, 68); add(lun1012); lun1012.setFont(fonterempli); lun1012.setEditable(true); } public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.red); g.drawLine(5, 240, 781, 240); g.drawLine(5, 241, 781, 241); g.drawLine(5, 271, 781, 271); g.drawLine(5, 272, 781, 272); g.drawLine(5, 341, 781, 341); g.drawLine(5, 342, 781, 342); g.drawLine(5, 411, 781, 411); g.drawLine(5, 412, 781, 412); g.drawLine(5, 481, 781, 481); g.drawLine(5, 482, 781, 482); g.drawLine(5, 551, 781, 551); g.drawLine(5, 552, 781, 552); g.drawLine(5, 621, 781, 621); g.drawLine(5, 622, 781, 622); g.drawLine(5, 240, 5, 622); g.drawLine(6, 240, 6, 622); g.drawLine(76, 240, 76, 622); g.drawLine(77, 240, 77, 622); g.drawLine(277, 272, 277, 622); g.drawLine(278, 272, 278, 622); g.drawLine(478, 272, 478, 622); g.drawLine(479, 272, 479, 622); g.drawLine(679, 272, 679, 410); g.drawLine(680, 272, 680, 410); g.drawLine(576, 412, 576, 480); g.drawLine(577, 412, 577, 480); g.drawLine(679, 482, 679, 622); g.drawLine(680, 482, 680, 622); g.drawLine(780, 240, 780, 622); g.drawLine(781, 240, 781, 622); } public static void main(String[] argv) { Cadre1 panel = new Cadre1(); JFrame fenetre = new JFrame(); fenetre.setContentPane(panel); fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fenetre.setSize(1000, 700); fenetre.setVisible(true); } }
une aoutre question camarade,
comment puis je afficher dans ces zones de texte les resultats d'une requte sql???
Il y a moyen de faire un cours complet la dessus, je te refere au cours de developpez.com sur JDBC. En attendant si tu as une autre question n'hesite pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/test","root","pass"); // Se connecte a une base de donnee mysql Statement instruction = connexion.createStatement(); //Creer un objet statement, c cet objet aui execuste les requetes. ResultSet resultat = instruction.executeQuery("SELECT * FROM ANNONCE"); // dans le ResultSet se trouve le resultat de la requete resultat.next() //je me place sur la premiere ligne du ResultSet jtext.setText(resultat.getString(1))![]()
je sais pas comment introduire ce code dans le code si-dessus
Salut Omar,
Peut tu me dire quels etudes tu suit et ou?
Merci
Je ne saias pas pourquoi tu n'arrive pas a le mettre dans ton code. Poste tes sources j'y regarderais![]()
voici ce que j'ai fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86 import java.awt.*; import javax.swing.*; import java.sql.*; public class Cadre1 extends JPanel { JTextArea lun810; public Cadre1() { super(); setSize(1000, 700); setLayout(null); //fonte du remplissage Font fonterempli=new Font("TimesNewRomain", Font.PLAIN, 15); JTextArea lun810=new JTextArea("moi"); lun810.setBounds(77, 274, 199, 68); add(lun810); lun810.setFont(fonterempli); TextField lun1012=new TextField("toi"); lun1012.setBounds(280, 274, 199, 68); add(lun1012); lun1012.setFont(fonterempli); lun1012.setEditable(true); } public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.red); g.drawLine(5, 240, 781, 240); g.drawLine(5, 241, 781, 241); g.drawLine(5, 271, 781, 271); g.drawLine(5, 272, 781, 272); g.drawLine(5, 341, 781, 341); g.drawLine(5, 342, 781, 342); g.drawLine(5, 411, 781, 411); g.drawLine(5, 412, 781, 412); g.drawLine(5, 481, 781, 481); g.drawLine(5, 482, 781, 482); g.drawLine(5, 551, 781, 551); g.drawLine(5, 552, 781, 552); g.drawLine(5, 621, 781, 621); g.drawLine(5, 622, 781, 622); g.drawLine(5, 240, 5, 622); g.drawLine(6, 240, 6, 622); g.drawLine(76, 240, 76, 622); g.drawLine(77, 240, 77, 622); g.drawLine(277, 272, 277, 622); g.drawLine(278, 272, 278, 622); g.drawLine(478, 272, 478, 622); g.drawLine(479, 272, 479, 622); g.drawLine(679, 272, 679, 410); g.drawLine(680, 272, 680, 410); g.drawLine(576, 412, 576, 480); g.drawLine(577, 412, 577, 480); g.drawLine(679, 482, 679, 622); g.drawLine(680, 482, 680, 622); g.drawLine(780, 240, 780, 622); g.drawLine(781, 240, 781, 622); } { Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/test","root","pass"); // Se connecte a une base de donnee mysql Statement instruction = connexion.createStatement(); //Creer un objet statement, c cet objet aui execuste les requetes. ResultSet resultat = instruction.executeQuery("SELECT * FROM ANNONCE"); // dans le ResultSet se trouve le resultat de la requete resultat.next(); //je me place sur la premiere ligne du ResultSet lun810.setText(resultat.getString(1)); } public static void main(String[] argv) { Cadre1 panel = new Cadre1(); JFrame fenetre = new JFrame(); fenetre.setContentPane(panel); fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fenetre.setSize(1000, 700); fenetre.setVisible(true); } }
Slt
Intalle Eclipse et le plugins Visual Editor
a+
je travaille avec le jgrasp, ce que je veux c la solution de ce problème pour l'instant, le code ci-dessus ne marche pas, qelles sont les modifications que je doit faire?
Ton code n'est nulle part. Mais le dans le constructeur si tu veux qu'il soit execute des le lancement de l'application. Sans aucun jugement de valeur tu devriais revoir les bases Java. Meme la notion de fonction n'est pas acquise.
Ne te decourage pas.
Bye![]()
Desole mais on n'apprend pas a faire des IHM avec Eclipse. Ca ca sera apres quelques mois d'experience.Slt
Intalle Eclipse et le plugins Visual Editor
a+![]()
mais vous pouvez pas me corriger ce code?
voici ce que j'ai fait mais ça ne donne aucun résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137 import java.awt.*; import javax.swing.*; import java.sql.*; public class Cadre1 extends JPanel { JTextField lun810; String para= "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ=mabase.mdb; ";//PATH public Connection con; public ResultSet rs; public Statement st; public String pilote = new String ("sun.jdbc.odbc.JdbcOdbcDriver"); public Cadre1() { super(); setSize(1000, 700); setLayout(null); //fonte du remplissage Font fonterempli=new Font("TimesNewRomain", Font.PLAIN, 15); JTextField lun810=new JTextField(); lun810.setBounds(77, 274, 199, 68); add(lun810); lun810.setFont(fonterempli); TextField lun1012=new TextField("toi"); lun1012.setBounds(280, 274, 199, 68); add(lun1012); lun1012.setFont(fonterempli); lun1012.setEditable(true); connexion(); maj(); } // mise à jour public void maj() { try{ rs=st.executeQuery("SELECT * FROM progst"); rs.next(); } catch (Exception ex){System.err.println("Exception: " + ex.getMessage()); ex.printStackTrace();} } // connecion à la bas de donnée public void connexion() { try{ Class.forName(pilote); System.out.println("bon driver "); } catch(ClassNotFoundException cnfe){ System.out.println("La classe "+pilote+" n'a pas été trouvée"); cnfe.printStackTrace();} try{ con = DriverManager.getConnection(para,"",""); st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE ,ResultSet.CONCUR_UPDATABLE); } catch (Exception ex){System.err.println("Exception: " + ex.getMessage()); ex.printStackTrace(); } } // afficher public void afficher() { try { lun810.setText(rs.getString(1)); } catch(Exception e) { System.out.println(e.getMessage()); } } public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.red); g.drawLine(5, 240, 781, 240); g.drawLine(5, 241, 781, 241); g.drawLine(5, 271, 781, 271); g.drawLine(5, 272, 781, 272); g.drawLine(5, 341, 781, 341); g.drawLine(5, 342, 781, 342); g.drawLine(5, 411, 781, 411); g.drawLine(5, 412, 781, 412); g.drawLine(5, 481, 781, 481); g.drawLine(5, 482, 781, 482); g.drawLine(5, 551, 781, 551); g.drawLine(5, 552, 781, 552); g.drawLine(5, 621, 781, 621); g.drawLine(5, 622, 781, 622); g.drawLine(5, 240, 5, 622); g.drawLine(6, 240, 6, 622); g.drawLine(76, 240, 76, 622); g.drawLine(77, 240, 77, 622); g.drawLine(277, 272, 277, 622); g.drawLine(278, 272, 278, 622); g.drawLine(478, 272, 478, 622); g.drawLine(479, 272, 479, 622); g.drawLine(679, 272, 679, 410); g.drawLine(680, 272, 680, 410); g.drawLine(576, 412, 576, 480); g.drawLine(577, 412, 577, 480); g.drawLine(679, 482, 679, 622); g.drawLine(680, 482, 680, 622); g.drawLine(780, 240, 780, 622); g.drawLine(781, 240, 781, 622); afficher(); } public static void main(String[] argv) { Cadre1 panel = new Cadre1(); JFrame fenetre = new JFrame(); fenetre.setContentPane(panel); fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fenetre.setSize(1000, 700); fenetre.setVisible(true); } }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager