arbiadr
Messages postés13Date d'inscriptionsamedi 31 octobre 2009StatutMembreDernière intervention11 juillet 2010
-
9 juil. 2010 à 16:06
arbiadr
Messages postés13Date d'inscriptionsamedi 31 octobre 2009StatutMembreDernière intervention11 juillet 2010
-
9 juil. 2010 à 20:35
salut!
Je veux afficher un tableau dans une partie de la fenetre principale de mon application, mais je n'y parvient toujours pas. Voici le code que j'ai utilisé:
//voici mon tableau que je remplie à partir d'un fichier
static DataFileTable tablo = new DataFileTable(table, "file.txt" );
//fenetre principale
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
@SuppressWarnings("static-access")
public void run() {
NewJFrame fen= new NewJFrame();
fen.getContentPane().add(tablo,"Center");
fen.setSize(tablo.getPreferredSize());
tablo.setLayout(null);
tablo.setLocation(500,100);
tablo.setVisible(true);
fen.setDefaultCloseOperation( fen.DO_NOTHING_ON_CLOSE);
fen. setTitle("titre");
fen.setVisible(true);
fen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fen.setSize(Toolkit.getDefaultToolkit().getScreenSize());
}
});
Lorsque je crée une nouvelle fenêtre et j'utilise le même code, le tableau s'affiche dans la nouvelle fenêtre.
Cependant je ne veux pas utiliser une autre fenêtre et je veux que le tableau soit affiché dans la fenetre du programme principal.
arbiadr
Messages postés13Date d'inscriptionsamedi 31 octobre 2009StatutMembreDernière intervention11 juillet 20102 9 juil. 2010 à 20:35
Apparemment mon tableau a été affiché dans la fenêtre principale mais caché en dessous d'un JTextArea.
J'ai résolu le problème en ajoutant l'instruction:
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020369 9 juil. 2010 à 16:31
Tu fais des choses qui ne sont pas terribles : tu ajoutes le tablo en utilisant un layout quelconque, ensuite tu appliques un setLocation, il faut choisir, soit ton layout est à null soit tu ne fais pas de setLocation().
Mais surtout, tu n'as pas besoin de mettre ca dans une procédure run, je ne vois vraiment pas pourquoi tu le fais... un repaint() suffit toujours
Pour ton erreur, si tu est dans la classe de la fenetre principale, remplace tous les fen par this et enleve cette ligne NewJFrame fen= new NewJFrame();
arbiadr
Messages postés13Date d'inscriptionsamedi 31 octobre 2009StatutMembreDernière intervention11 juillet 20102 9 juil. 2010 à 17:00
Je ne comprends pas beaucoup ce que vous proposez.
J'utilise netbeans et fen est le nom de la fenetre principale.
Je ne peux pas enlever la ligne NewJFrame fen= new NewJFrame();
car elle permet de créer ma fenetre principale.
SVP pouvez vous me donner un exemple.