Onglets dans une fenetre java

Fermé
Sken - 29 déc. 2011 à 12:53
explicaiont Messages postés 26 Date d'inscription dimanche 25 décembre 2011 Statut Membre Dernière intervention 29 décembre 2011 - 29 déc. 2011 à 17:34
Bonjour,

J'ai crée une fenêtre contenant divers éléments. J'aimerais, à partir de cette meme fenetre, créer deux onglets pour pouvoir ajouter d'autres éléments dans le second onglet, tout en conservant le contenu de ma fenetre dans le premier onglet.

Ce code marche très bien :

import java.awt.*;
import javax.swing.*;

public class TabDemo {
final static String BUTTONPANEL = "Tab with JButtons";
final static String TEXTPANEL = "Tab with JTextField";
final static int extraWindowWidth = 100;

public void addComponentToPane(Container pane) {
JTabbedPane tabbedPane = new JTabbedPane();


JPanel card1 = new JPanel() {

public Dimension getPreferredSize() {
Dimension size = super.getPreferredSize();
size.width += extraWindowWidth;
return size;
}
};
card1.add(new JButton("Button 1"));
card1.add(new JButton("Button 2"));
card1.add(new JButton("Button 3"));

JPanel card2 = new JPanel();
card2.add(new JTextField("TextField", 20));

tabbedPane.addTab(BUTTONPANEL, card1);
tabbedPane.addTab(TEXTPANEL, card2);

pane.add(tabbedPane, BorderLayout.CENTER);
}

private static void createAndShowGUI() {

JFrame frame = new JFrame("TabDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

TabDemo demo = new TabDemo();
demo.addComponentToPane(frame.getContentPane());


frame.pack();
frame.setVisible(true);
}




public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}

}

Mais je ne sais pas comment l'adapter à mon constructeur déjà existant :

public Graphique(){


addWindowListener(new MyWindowListener());

setSize(LARGEUR,HAUTEUR);
setBackground(Color.white);
setForeground(Color.black);
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));


f1 = new TextField("0", 5);
f2 = new TextField("0", 5);
f3 = new TextField("0", 5);
t1 = new TextField("0", 5);
t2 = new TextField("0", 5);
t3 = new TextField("0", 5);

Panel p1 = new Panel(new GridLayout(1,3));
p1.add(f1);
p1.add(f2);
p1.add(f3);


Panel p2 = new Panel(new GridLayout(1,3));
p2.add(t1);
p2.add(t2);
p2.add(t3);

add(p1);

RGBtoCMY.addActionListener(new Action1());
add(RGBtoCMY);

Panel p3 = new Panel(new BorderLayout());
Label l = new Label("Ceci est la couleur en RGB : ");
p3.add(l, BorderLayout.NORTH);
C1 = new CercleCouleur(80,5);
p3.add(C1, BorderLayout.CENTER);
add(p3);


Panel p4 = new Panel(new BorderLayout());
Indicateur I1 = new Indicateur(this);
p4.add(I1, BorderLayout.NORTH);
add(p4);

CMYtoRGB.addActionListener(new Action2());
add(CMYtoRGB);


add(p2);



setVisible(true);
I1.im = createImage(getSize().width, getSize().height);
I1.g1 = I1.im.getGraphics();

}

Si quelqu'un a une idée...
Merci.

A voir également:

1 réponse

explicaiont Messages postés 26 Date d'inscription dimanche 25 décembre 2011 Statut Membre Dernière intervention 29 décembre 2011
29 déc. 2011 à 17:34
bj tu procéde exactementt de la méme maniére que pour ton premier onglet et puit tu peux faire ça avec netbeans c'est trés facile.
il te permet de créer tes interface rapidement sans avoir besoin a programmer tous ça
0