Se vuoi ti posto quello che ho combinato io, cosi' ti evito la fatica. Avevo intenzione di fare qualche piccola modifica, ma poi il tutto ha preso a non funzionare (perche' mischiavo due tipi di pulsante mandando a pallino tutti i metodi che usavano "cmd1.getClass()"...perfetto, domani se ho tempo lo integro nel codice...
Immagino dipenda anche dall'IDE che usi per disegnare l'interfaccia grafica. Ecco perche' preferisco farne a meno.ero abituato in VB dove gli array di Command venivano creati in automatico
Per esempio, per scrivere questa procedura:
hai dovuto letteralmente fare i salti mortali!!!codice:private void changeDays(int FistDayOfWeekOfMonth, int LastDay) { String TabName; //nascondo tutti i pulsanti for (int i = 0; i < panel.getComponentCount(); i++) { if (panel.getComponent(i).getClass() == cmd1.getClass()) panel.getComponent(i).setVisible(false); } //abilito e rinomino soltanto quelli che mi servono for (int j = 1; j <= LastDay; j++) { TabName = String.valueOf(j + FistDayOfWeekOfMonth - 1); for (int i = 0; i < panel.getComponentCount(); i++) { if (panel.getComponent(i).getName() != null) { if (panel.getComponent(i).getName().equals(TabName)) { ((JToggleButton) panel.getComponent(i)).setText(String .valueOf(j)); panel.getComponent(i).setVisible(true); if (j == m_Day) ((JToggleButton) panel.getComponent(i)) .setSelected(true); } } } } }
Riscrivendo il tutto, ottieni:
codice:private void changeDays(int FistDayOfWeekOfMonth, int LastDay) { int numero; //nascondo tutti i pulsanti for (int i = 0; i < cmd.length; i++) { cmd[i].setVisible(false); } //abilito e rinomino soltanto quelli che mi servono for (int j = 1; j <= LastDay; j++) { numero = j + FistDayOfWeekOfMonth; cmd[numero].setText(String.valueOf(j)); cmd[numero].setVisible(true); if (j == m_Day) cmd[numero].setSelected(true); } }

