2 pièce(s) jointe(s)
Faire appel a une seule instance
Salut tous le monde,
Dans mon projet, j'ai crée un JMenuItem qui ouvre un projet mais le problème c'est quand j'ouvre un autre projet le premier ne s'écrase pas mais il se duplique(je crois :P)
donc je voudrais savoir comment crée une seule instance en écrasant la précedente
appel du projet de la principale frame
Code:
1 2 3 4 5 6 7 8 9
| int status = fileChooser.showOpenDialog(null);
if (status == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
if(fileProject.deserialze(selectedFile.getPath())){
create(fileProject.getColumns(), fileProject.getSitePane()); //
frm.revalidate();
frm.repaint();
} |
Méthode create dans le code si dessus
Code:
1 2 3 4 5 6 7
|
public static void create(ColumnsUI cols, SiteTypePannelUI siteType){
MainTabbedPaneUI mainTabbedPane = new MainTabbedPaneUI(); // on appel la frame qui contient le projet
mainTabbedPane.create(cols, siteType);
mainTabbedPane.setBounds(10, 109, 586, 583);
frm.getContentPane().add(mainTabbedPane); |
Et voici la méthode qui crée jtabbedpane(qui s'affiche dans la main frame)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
public void create(ColumnsUI cols, SiteTypePannelUI siteType){
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.LEFT);
countInstances++;
tabbedPane.setBounds(10, 11, 533, 577);
add(tabbedPane);
tabbedPane.addTab("Site", iconSite, siteType);
tabbedPane.addTab("Table",iconTable, cols);
tabbedPane.addTab("Links",iconLinks, null);
tabbedPane.setVisible(true);
refresh();
}
public void refresh(){
revalidate();
repaint();
} |
Ouvrir un projet ( 1ere fois ) :
Pièce jointe 185545
Ouvrir un projet (2 éme fois ) :
Pièce jointe 185546