Visualizzazione dei risultati da 1 a 9 su 9

Hybrid View

  1. #1
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Ok, IN_Main implementa InterfacePanel, su questo non c'è dubbio, almeno per quanto si può vedere qui.


    Alt!!! La istanza non è di IN_Main ma di una anonymous inner class contenuta dentro IN_Main. Quindi verifica bene cosa viene istanziato e passato nel JTabbedPane (puoi farlo solo tu ... non io, non potendo vedere il codice completo).
    Capisco, beh il codice che aggiunge al TAB principale la mia classe è contenuto in IN_Main ed è questo:
    codice:
    Main.IN_Main.central_panel.add(name,this);  // Aggiunge IN_Main
    // Aggiunge una spunta tipo X per chiudere il tab
            ButtonTabComponent BTC = new ButtonTabComponent(Main.IN_Main.central_panel,language.getString("HULL")) {
                @Override
                public int SaveAll() {
                    return Save(true);
                }
            };
            int i = Main.IN_Main.central_panel.getTabCount()-1;
            Main.IN_Main.central_panel.setTabComponentAt(i, BTC);
            Main.IN_Main.central_panel.setSelectedIndex(i);
    ma il comando central_panel.getTabComponentAt(i).getClass(); ritorna Hull.IN_Main$1

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Lory1990 Visualizza il messaggio
    ma il comando central_panel.getTabComponentAt(i).getClass(); ritorna Hull.IN_Main$1
    Infatti ... a setTabComponentAt viene passato BTC che fa riferimento ad un oggetto che è la istanza della anonymous inner class che estende ButtonTabComponent.
    ButtonTabComponent implementa InterfacePanel? Direi proprio di no, visto che appunto il cast fallisce.

    In sostanza, nel tabbed pane c'è un ButtonTabComponent (con in più il SaveAll ridefinito) .... non un IN_Main.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Aia! e se io volessi prendere IN_Main !? c'è qualche modo?

    EDIT: OK ho capito, basta invocare getComponentAt e non getTabComponentAt
    Ultima modifica di Lory1990; 19-04-2014 a 12:26

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.