melianos31
Messages postés18Date d'inscriptionjeudi 20 juillet 2006StatutMembreDernière intervention 3 septembre 2006
-
21 juil. 2006 à 10:52
melianos31
Messages postés18Date d'inscriptionjeudi 20 juillet 2006StatutMembreDernière intervention 3 septembre 2006
-
24 juil. 2006 à 09:13
Bonjour.
Je développe en ce moment une interface graphique en java ( merci le tuto de tucobouch ), mais j'ai un petit probleme.
Si je met tout dans la classe Fenetre, et que mon main se contente de creer une Fenetre, tout va bien, affichage de la fenetre a l'écran, avec mes bontons, mes scrolls, etc...
Si je tente de mettre les differents Panel dans des classes differentes (car j'ai des Panels qui se répètent), et pour faciliter la relecture, ma classe fenetre veux bien ajouter toutes mes classes dans la fenetre, mais ceux-ci ne s'affiche pas à l'écran.
Avant tous les fichiers étaient dans le même package, mais ca ne marchait quand même pas.
Quelle est mon erreur ?
Je programme sous windows, avec eclipse 3.2, sans le VE (J'arrive pas a m'en servir :p )
classe TafelVisual, avec le main
////////////////////////////////////////////////////////////////////////////////
package main_window;
import javax.swing.JFrame;
import tafelComponents.*;
public class TafelVisual extends JFrame{
private static final long serialVersionUID = 1L;
public static void main(String[] args)
{
Fenetre fen = new Fenetre();
StoffMenu menu1 = new StoffMenu();
VariablenMenu menu2 = new VariablenMenu("Erste bekannte Variable");
VariablenMenu menu3 = new VariablenMenu("Zweite bekannte Variable");
EinorParButton menu4 = new EinorParButton();
public class VariablenMenu extends JPanel{
// This Panel allows you to say what fields you already know
private static final long serialVersionUID = 1L;
public VariablenMenu(String s){
JPanel pan = new JPanel();
BoxLayout bl = new BoxLayout(pan,BoxLayout.X_AXIS);
pan.setLayout(bl);
JLabel lab3 = new JLabel(s);
pan.add(lab3);
String c[] ={"Druck(in bar)","Temperatur(in K)","RHO( in ??)"};
JComboBox cb = new JComboBox(c);
pan.add(cb);
pan.setVisible(true);
tsé le mieux avant d'essayer de faire une interface graphique avec tout
plein de composants dans tout les sens c'est de déja bien maitriser
ceux-ci et egalements de bien maistriser les notions de conteneur...
mais bon
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 21 juil. 2006 à 13:20
Salut,
c'est pas la réponse mais public class TafelVisual extends JFrame{
c'est pas utile fais simplement public class TafelVisual{ vu que dans
le main tu utilise une autre fenetre.
je ne pourrait te dire si il y a une erreur dans StoffMenu vu que l'on a pas le code.
pour VariablenMenu tu as oublié de rattacher ton panel à l'autre soit
public VariablenMenu(String s){
JPanel pan = new JPanel();
BoxLayout bl = new BoxLayout(pan,BoxLayout.X_AXIS);
pan.setLayout(bl);
JLabel lab3 = new JLabel(s);
pan.add(lab3);
String c[] ={"Druck(in bar)","Temperatur(in K)","RHO( in ??)"};
JComboBox cb = new JComboBox(c);
pan.add(cb);
pan.setVisible(true);
JTextField tf = new JTextField();
pan.add(tf);
this.add(pan);
}
perso je te conseil plutot de faire
public VariablenMenu(String s){
BoxLayout bl = new BoxLayout(pan,BoxLayout.X_AXIS);
this.setLayout(bl);
JLabel lab3 = new JLabel(s);
this.add(lab3);
String c[] ={"Druck(in bar)","Temperatur(in K)","RHO( in ??)"};
JComboBox cb = new JComboBox(c);
this.add(cb);
JTextField tf = new JTextField();
this.add(tf);
}
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 21 juil. 2006 à 13:28
Perso je te conseil de sortir tes variables des constructeurs sourtout
si dans le future tu as l'intention de les modifiers par le bia d'une
autre classe
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
melianos31
Messages postés18Date d'inscriptionjeudi 20 juillet 2006StatutMembreDernière intervention 3 septembre 2006 21 juil. 2006 à 14:57
Bon, ca résoud la plupart de mes problèmes, sauf un.
je cherche a mettre des menu, (comme StoffMenu) les uns en dessous des autres, (c'est pas plus facile avec un JPanel ? )
et je n'arrive pas à mettre le layout avec BorderLayout.
BorderLayout bl = new BorderLayout(); // ca fonctionne
this.setLayout(bl); // la ca plante
ou
add(new StoffMenu(), java.awt.BorderLayout.CENTER);
// qui plante aussi
(Désolé si ca te semble être me macher le boulot, je galère dessus depuis ce matin)
melianos31
Messages postés18Date d'inscriptionjeudi 20 juillet 2006StatutMembreDernière intervention 3 septembre 2006 21 juil. 2006 à 16:00
Bon, ca fonctionne tant que j'ajoute StoffMenu, (je passe par un JPanel pour mettre plusieurs StoffMenu),
mais quand je tente d'ajouter un EinorParButton, ou un VariablenMenu au JPanel, c'est plus ca (EinorParButton ne s'affiche pas, VariablenMenu plante le tout).
Donc, comment puis-je rajouter un grand nombre de ces Menus sans que ca plante ? ( il m'en faut 5 ou 6, dont 4 differents)
class Fenetre
//////////////////////////////////////////////////////////
public class Fenetre extends JFrame{
private static final long serialVersionUID = 7979400413333400347L;
JPanel pan = new JPanel();
public Fenetre() {
super("Interface für fluidp");
this.setSize(400, 200);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
BoxLayout bl2 = new BoxLayout(pan,BoxLayout.Y_AXIS);
pan.setLayout(bl2);
class EinorParButton
//////////////////////////////////////////////////
public class EinorParButton extends JPanel{
private static final long serialVersionUID = 1L;
JPanel pan = new JPanel();
BoxLayout bl = new BoxLayout(pan,BoxLayout.X_AXIS);
ButtonGroup group = new ButtonGroup();
JRadioButton b1 = new JRadioButton("Einzelwert",true);
JRadioButton b2 = new JRadioButton("Parameterfeld",false);
public EinorParButton(){
pan.setLayout(bl);
group.add(b1);
pan.add(b1);
group.add(b2);
pan.add(b2);
}
}
class VariablenMenu
////////////////////////////////////////////////////////////7
public class VariablenMenu extends JPanel{
private static final long serialVersionUID = 1L;
JPanel pan = new JPanel();
public VariablenMenu(String s){
BoxLayout bl = new BoxLayout(pan,BoxLayout.X_AXIS);
this.setLayout(bl);
JLabel lab3 = new JLabel(s);
this.add(lab3);
String c[] ={"Druck(in bar)","Temperatur(in K)","RHO( in ??)"};
JComboBox cb = new JComboBox(c);
this.add(cb);
JTextField tf = new JTextField();
this.add(tf);
}
}