perfetto, domani se ho tempo lo integro nel codice...
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()"...
ero abituato in VB dove gli array di Command venivano creati in automatico
Immagino dipenda anche dall'IDE che usi per disegnare l'interfaccia grafica. Ecco perche' preferisco farne a meno.
Per esempio, per scrivere questa procedura:
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);
}
}
}
}
}
hai dovuto letteralmente fare i salti mortali!!!
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);
}
}