Accéder à un objet instancié dans une autre classe
Bonjour. J'ai un problème avec l'accès à un objet.
Je dispose de 3 classes :
- une classe Onglets qui crée un onglet contenant un Panel qui contient lui même une zone de texte.
- une classe Outils qui crée la barre d'outil (juste le bouton GRAS actuellement).
- une classe Generateur, qui correspond au main et qui instancie 2 objets, outilBar et onglet afin de les afficher dans une Frame.
Le problème est que je souhaiterais accéder à l'objet onglet à partir de la classe Outils pour que lorsque je clique sur le bouton GRAS, cela m'affiche GRAS dans la zone de texte contenu dans l'objet onglet. Mais je n'arrive pas à accéder à cette objet.
Comment faire ?
Merci d'avance
Classe Onglets
Code:
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
|
import java.awt.BorderLayout;
import java.awt.Panel;
import javax.swing.JTabbedPane;
import javax.swing.JTextPane;
public class Onglets {
private JTabbedPane onglets;
private JTextPane textPane;
private Panel apercu;
public Onglets() {
//------------ONGLETS----------------------
onglets = new JTabbedPane();
apercu = new Panel(new BorderLayout());
textPane = new JTextPane();
apercu.add(textPane);
onglets.addTab("Apercu", apercu);
}
public JTabbedPane getOnglets() {
return onglets;
}
} |
Classe Outils
Code:
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
|
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JToolBar;
public class Outils implements ActionListener{
private JToolBar toolBar;
private JButton gras;
public Outils() {
toolBar = new JToolBar("Still draggable");
gras = new JButton("gras");
gras.addActionListener(this);
toolBar.add(gras);
}
public JToolBar getOutils() {
return toolBar;
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == gras)
System.out.println("Gras");
}
} |
Classe Generateur
Code:
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
|
import java.awt.BorderLayout;
import javax.swing.JFrame;
public class Generateur extends JFrame{
private Onglets onglet;
private Outils outilBar;
public Generateur() {
setTitle("Generateur");
setLocation(20,20);
setSize(600,600);
//--------------BARRE OUTIL----------------
outilBar = new Outils();
add(outilBar.getOutils(), BorderLayout.PAGE_START);
//----------------ONGLETS------------------
onglet = new Onglets();
add(onglet.getOnglets());
setVisible(true);
}
public static void main(String[] args) {
new Generateur();
}
} |