Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

débutante paumée...

9 réponses
Avatar
aliena31
Bonjour !

je vais encore passer pr une conne, mais bon j'ai encore un problème
qui si ça se trouve est tout con

je travaille avec Sun One, et j'aimerais utiliser des zones de texte
que l'utilisateur doit remplir lui-même. Pour l'instant j'ai mis des
TextField, mais je n'arrive pas une fois que je lance mon programme à
écrire dans cette zone (je précise tt de suite qu'ils sont bien
éditables, j'ai vérifié).

Faut-il utiliser un event du style keyPressed pour que ce que
l'utilisateur tape s'inscrive dans la zone voulue ? ça paraît tout con
mais j'y arrive pas

merci d'avance de votre aide

aliena

9 réponses

Avatar
Cedric ROCHEFOLLE
"aliena31" wrote

je travaille avec Sun One, et j'aimerais utiliser des zones de texte
que l'utilisateur doit remplir lui-même. Pour l'instant j'ai mis des
TextField, mais je n'arrive pas une fois que je lance mon programme à
écrire dans cette zone (je précise tt de suite qu'ils sont bien
éditables, j'ai vérifié).



Un petit bout de ton code serait le bienvenue. Un TextField qui est affiche
n'a besoin de rien. Il suffit de placer le curseur et taper le texte... a
priori.

Ced

Avatar
Xavier Tarrago
Non, normalement, si on met un textfield, on peut écrire dedans par défaut.
La récupération des events, c'est quand on veut réagir (vérifier le texte,
par exemple) à des évènements.
(je parle de swing, là. AWT, je ne connais pas, mais ça doit pas être très
différent)
.
Si le textfield est grisé, c'est qu'il est désactivé, lui ou un des parents.
"aliena31" a écrit dans le message news:

Bonjour !

je vais encore passer pr une conne, mais bon j'ai encore un problème
qui si ça se trouve est tout con

je travaille avec Sun One, et j'aimerais utiliser des zones de texte
que l'utilisateur doit remplir lui-même. Pour l'instant j'ai mis des
TextField, mais je n'arrive pas une fois que je lance mon programme à
écrire dans cette zone (je précise tt de suite qu'ils sont bien
éditables, j'ai vérifié).

Faut-il utiliser un event du style keyPressed pour que ce que
l'utilisateur tape s'inscrive dans la zone voulue ? ça paraît tout con
mais j'y arrive pas

merci d'avance de votre aide

aliena


Avatar
vclassine
"Cedric ROCHEFOLLE" wrote in message news:<3f174ec8$0$17234$...
"aliena31" wrote

je travaille avec Sun One, et j'aimerais utiliser des zones de texte
que l'utilisateur doit remplir lui-même. Pour l'instant j'ai mis des
TextField, mais je n'arrive pas une fois que je lance mon programme à
écrire dans cette zone (je précise tt de suite qu'ils sont bien
éditables, j'ai vérifié).



Un petit bout de ton code serait le bienvenue. Un TextField qui est affiche
n'a besoin de rien. Il suffit de placer le curseur et taper le texte... a
priori.

Ced



Si ils sont aussi enabled il va falloir le code...


Avatar
aliena31
Un petit bout de ton code serait le bienvenue. Un TextField qui est affiche
n'a besoin de rien. Il suffit de placer le curseur et taper le texte... a
priori.

Ced


ben pour l'instant j'ai juste un bout de code pour récupérer ce que
l'utilisateur a tapé

à l'appui sur un bouton je fais
nom_du_textFiel.getText()

mais bon comme je n'arrive pas à placer le curseur ni a taper du
texte, ben ça m'avance pas à grand chose...

aliena

Avatar
captainpaf
"aliena31" a écrit dans le message de news:

Un petit bout de ton code serait le bienvenue. Un TextField qui est
affiche


n'a besoin de rien. Il suffit de placer le curseur et taper le texte...
a


priori.

Ced


ben pour l'instant j'ai juste un bout de code pour récupérer ce que
l'utilisateur a tapé

à l'appui sur un bouton je fais
nom_du_textFiel.getText()

mais bon comme je n'arrive pas à placer le curseur ni a taper du
texte, ben ça m'avance pas à grand chose...

aliena


Et tu peux pas le montrer ce bout de code ? C'est top secret ?


Avatar
vclassine
ben ça m'avance pas à grand chose...
Mais nous ça nous avancerait pas mal pour t'aider... Ne t'inquiète pas

on à déjà vu du code de débutant(e) ont en à même écrit. Nommes bien
tes variables, et met quelques commentaires pour dire ce que tu fais
et poste-le...

A+

Avatar
aliena31
(Vincent) wrote in message news:...
ben ça m'avance pas à grand chose...
Mais nous ça nous avancerait pas mal pour t'aider... Ne t'inquiète pas

on à déjà vu du code de débutant(e) ont en à même écrit. Nommes bien
tes variables, et met quelques commentaires pour dire ce que tu fais
et poste-le...

A+


Bon ben voilà mon code, je vous préviens comme je travaille avec Sun
One tous les composants sont déclarés automatiquement, et au final
c'est un peu le bordel, indépendamment de ma volonté...

Bon courage et merci d'avance à ceux qui auront le courage de se
plonger dans ce code !

import javax.swing.*;

public class Entree extends javax.swing.JFrame {

private String[] titre = new String[4]; // informations sur la
colle à corriger
private int mod; // mode de correction par défaut

public Entree() {
initComponents();
this.setBounds(110,50,792,653);
this.setVisible(true);
}

private void initComponents() {//GEN-BEGIN:initComponents
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jLabel3 = new javax.swing.JLabel();
jPanel31 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jPanel32 = new javax.swing.JPanel();
jLabel5 = new javax.swing.JLabel();
jPanel33 = new javax.swing.JPanel();
jLabel4 = new javax.swing.JLabel();
nom_colle = new javax.swing.JTextField();
jour_colle = new javax.swing.JTextField();
mois_colle = new javax.swing.JTextField();
annee_colle = new javax.swing.JTextField();
nbmax = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
cbmode = new javax.swing.JComboBox();
suiv = new javax.swing.JButton();
quitter = new javax.swing.JButton();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();

getContentPane().setLayout(null);

setTitle("Ecran de bienvenue");
setFocusable(false);
setFocusableWindowState(false);
setName("Entree");
setResizable(false);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt)
{
exitForm(evt);
}
});

jPanel1.setLayout(null);

jPanel1.setBackground(new java.awt.Color(153, 153, 255));
jPanel1.setBorder(new javax.swing.border.LineBorder(new
java.awt.Color(0, 0, 0)));
jPanel1.setAlignmentX(0.0F);
jPanel1.setAlignmentY(0.0F);
jPanel1.setMaximumSize(new java.awt.Dimension(792, 653));
jPanel1.setMinimumSize(new java.awt.Dimension(792, 653));
jPanel1.setPreferredSize(new java.awt.Dimension(792, 653));
jPanel1.setRequestFocusEnabled(false);
jPanel1.setAutoscrolls(true);
jPanel2.setBackground(new java.awt.Color(204, 204, 255));
jPanel2.setAutoscrolls(true);
jLabel1.setFont(new java.awt.Font("Microsoft Sans Serif", 1,
24));
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("Bienvenue dans le logiciel QCM by manu");
jPanel2.add(jLabel1);

jPanel1.add(jPanel2);
jPanel2.setBounds(160, 40, 500, 40);

jPanel3.setBackground(new java.awt.Color(255, 204, 255));
jLabel3.setFont(new java.awt.Font("Microsoft Sans Serif", 1,
14));
jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel3.setText("Date de la colle :");
jPanel3.add(jLabel3);

jPanel1.add(jPanel3);
jPanel3.setBounds(240, 240, 150, 26);

jPanel31.setBackground(new java.awt.Color(255, 204, 255));
jLabel2.setFont(new java.awt.Font("Microsoft Sans Serif", 1,
14));
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel2.setText("Nom de la colle :");
jPanel31.add(jLabel2);

jPanel1.add(jPanel31);
jPanel31.setBounds(240, 150, 150, 26);

jPanel32.setBackground(new java.awt.Color(255, 204, 255));
jLabel5.setFont(new java.awt.Font("Microsoft Sans Serif", 1,
14));
jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel5.setText("Mode par du00e9faut :");
jPanel32.add(jLabel5);

jPanel1.add(jPanel32);
jPanel32.setBounds(240, 330, 150, 26);

jPanel33.setBackground(new java.awt.Color(255, 204, 255));
jLabel4.setFont(new java.awt.Font("Microsoft Sans Serif", 1,
14));
jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel4.setText("Nb max de points :");
jPanel33.add(jLabel4);

jPanel1.add(jPanel33);
jPanel33.setBounds(240, 420, 150, 26);

nom_colle.setHorizontalAlignment(javax.swing.JTextField.LEFT);
jPanel1.add(nom_colle);
nom_colle.setBounds(410, 150, 180, 20);

jour_colle.setColumns(2);
jour_colle.setHorizontalAlignment(javax.swing.JTextField.CENTER);
jPanel1.add(jour_colle);
jour_colle.setBounds(410, 240, 40, 20);

mois_colle.setColumns(2);
jPanel1.add(mois_colle);
mois_colle.setBounds(480, 240, 40, 20);

annee_colle.setColumns(4);
jPanel1.add(annee_colle);
annee_colle.setBounds(550, 240, 40, 20);

nbmax.setColumns(2);
nbmax.setHorizontalAlignment(javax.swing.JTextField.CENTER);
nbmax.setText("15");
jPanel1.add(nbmax);
nbmax.setBounds(410, 420, 22, 20);

jLabel6.setFont(new java.awt.Font("Dialog", 1, 18));
jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel6.setText("/");
jPanel1.add(jLabel6);
jLabel6.setBounds(520, 240, 30, 16);

jLabel7.setFont(new java.awt.Font("Dialog", 1, 18));
jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel7.setText("/");
jPanel1.add(jLabel7);
jLabel7.setBounds(450, 240, 30, 24);

cbmode.setBackground(new java.awt.Color(255, 255, 255));
cbmode.setMaximumRowCount(3);
cbmode.setModel(new javax.swing.DefaultComboBoxModel(new
String[] { "1", "2", "3" }));
cbmode.setSelectedIndex(1);
jPanel1.add(cbmode);
cbmode.setBounds(410, 330, 40, 25);

suiv.setBackground(new java.awt.Color(153, 204, 255));
suiv.setFont(new java.awt.Font("Microsoft Sans Serif", 1,
14));
suiv.setText("Suivant");
suiv.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
suivMouseClicked(evt);
}
});

jPanel1.add(suiv);
suiv.setBounds(486, 486, 100, 50);

quitter.setBackground(new java.awt.Color(153, 204, 255));
quitter.setFont(new java.awt.Font("Microsoft Sans Serif", 1,
14));
quitter.setText("Quitter");
quitter.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
quitterMouseClicked(evt);
}
});

jPanel1.add(quitter);
quitter.setBounds(620, 486, 100, 50);

jLabel8.setText("(ex : Biochimie 2)");
jPanel1.add(jLabel8);
jLabel8.setBounds(610, 150, 100, 16);

jLabel9.setText("(ex : 23/04/2003)");
jPanel1.add(jLabel9);
jLabel9.setBounds(610, 240, 100, 16);

getContentPane().add(jPanel1);
jPanel1.setBounds(-18, 0, 860, 653);

pack();
}//GEN-END:initComponents

private void quitterMouseClicked(java.awt.event.MouseEvent evt)
{//GEN-FIRST:event_quitterMouseClicked
System.exit(0);
}//GEN-LAST:event_quitterMouseClicked

private void suivMouseClicked(java.awt.event.MouseEvent evt)
{//GEN-FIRST:event_suivMouseClicked
// on vérifie que tous les champs sont bien remplis
if ((nom_colle.getText().length()==0)||(jour_colle.getText().length()==0)||(mois_colle.getText().length()==0)||(annee_colle.getText().length()==0)||(nbmax.getText().length()==0)){
JOptionPane.showMessageDialog(null,"Il manque des
informations ","Avertissement",JOptionPane.WARNING_MESSAGE);
}
else {
// on récupère les informations générales sur la colle
int nbpoints = new Integer(nbmax.getText()).intValue();
titre[0] = nom_colle.getText(); titre[1] = jour_colle.getText();
titre[2]= mois_colle.getText(); titre[3] = annee_colle.getText();
if (titre[3].length()!=4){ titre[3] = "20" + titre[3]; }
mod = cbmode.getSelectedIndex()+1;
if (mod==0){ mod=2; }
// on passe à l'étape suivante
new Correcte(titre,mod,nbpoints);
}
}//GEN-LAST:event_suivMouseClicked

private void exitForm(java.awt.event.WindowEvent evt)
{//GEN-FIRST:event_exitForm
System.exit(0);
}//GEN-LAST:event_exitForm

public static void main(String args[]) { new Entree().show(); }


// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel32;
private javax.swing.JPanel jPanel31;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel3;
private javax.swing.JPanel jPanel3;
private javax.swing.JLabel jLabel2;
private javax.swing.JComboBox cbmode;
private javax.swing.JPanel jPanel33;
private javax.swing.JPanel jPanel2;
private javax.swing.JButton suiv;
private javax.swing.JButton quitter;
private javax.swing.JLabel jLabel9;
private javax.swing.JTextField annee_colle;
private javax.swing.JTextField nbmax;
private javax.swing.JLabel jLabel7;
private javax.swing.JPanel jPanel1;
private javax.swing.JTextField mois_colle;
private javax.swing.JTextField jour_colle;
private javax.swing.JTextField nom_colle;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel5;
// End of variables declaration//GEN-END:variables

}


Avatar
captainpaf
"aliena31" a écrit dans le message de news:

(Vincent) wrote in message
news:...

ben ça m'avance pas à grand chose...
Mais nous ça nous avancerait pas mal pour t'aider... Ne t'inquiète pas

on à déjà vu du code de débutant(e) ont en à même écrit. Nommes bien
tes variables, et met quelques commentaires pour dire ce que tu fais
et poste-le...

A+


Bon ben voilà mon code, je vous préviens comme je travaille avec Sun
One tous les composants sont déclarés automatiquement, et au final
c'est un peu le bordel, indépendamment de ma volonté...

Bon courage et merci d'avance à ceux qui auront le courage de se
plonger dans ce code !


Salut,

et bien, j'ai eu envie de me pendre plusieurs fois en lisant ce code.
Pourtant, j'en ai vu des codes merdiques, mais comme celui là, rarement !!
tu ferais mieux de faire tout avec tes petites mains en essayant de
comprendre ce que tu fais car vraiment là c'est n'importe quoi. Tu verras,
en plus tu te simplifieras la vie. C'est clair que les layout ne sont pa
forcément évident à comprendre au début mais une fois que tu en maîtrise un,
la petite fenêtre de ton exemple se code très simplement. Aussi, quelques
règles générales qui me viennes à l'esprit :
1) Toujours bien nommer ces variables.
2) Commenter son code
3) Comprendre ce que l'on code
4) Faire des méthodes courtes et lisibles
5) Bien indenter son code
...
Tu es débutantes, et bien commences par une toute petite fenêtre et ajoute
des composants au fur et à mesure en lisant bien la doc des méthodes que tu
emploies. Je sais, c'est long et chiant mais on est tous passé par là.

Pour info., en commentant les lignes suivantes ton codes devrait fonctionner
moins mal :
...
setFocusable(false);
setFocusableWindowState(false);
...

jPanel1.setRequestFocusEnabled(false);


bon courage.



Avatar
vclassine
A vu de nez je suis d'accord avec la réponse, et je suis content de
pas être celui qui a analisé en détail le code. :-)

C'est clair qu'il a bon dos Sun One Studio, d'accord c'est lui qui
déclare et configure les composants, mais rien n'empêche de les nommer
correctement. Je bosse avec Sun One (pour le design rapide, j'optimise
à la mano après) et je n'ai pas "JPanel11", dans mon code...

Et Ctrl+Shift+F ça réindente le code automatiquement, tu peux
paramètrer l'indentation dans les options.

Ne désespère pas mais crois moi tu ne gagneras jamais de temps en
essayant des trucs "au hasard", parce que pour mettre des
setFocusable(false) c'est que nu ne savais pas bien ce que tu fesait,
sinon tu aurais su pourquoi ça ne marchait pas :-)

Le salut passe par des heures de lecture de la doc de l'api java...

Allez, bon courage et à +