2014-12-15 3 views
1

У меня есть требование, мне нужно вызвать метод что-то вродевызова метода с динамической ссылкой

SlotButtons.poiLabel1.setText(txtname.getText().toString()) 

но здесь poiLabel1 будет динамически модифицировать. Его можно изменить на poiLabel2 или poiLabel3 или poiLabel4. Число приходит динамически.

Может ли кто-нибудь предложить мне, как это может преуспеть.

+1

«Динамично модифицировать» как? – EJP

+0

динамически я должен назвать SlotButtons.poiLabel2.setText или SlotButtons.poiLabel3.setText или ... – abc

+0

Может быть, массив помогает здесь? Или 'ArrayList'? – Seelenvirtuose

ответ

3

Вы можете использовать массив.

Допустим, у вас есть массив с кнопками:

JLabel[]labels=new JLabel[]{ 
    SlotButtons.poiLabel0, 
    SlotButtons.poiLabel1, 
    SlotButtons.poiLabel2, 
    SlotButtons.poiLabel3, 
    SlotButtons.poiLabel4, 
}; 

Тогда вы могли бы использовать правильный ярлык, если вы знаете Лобовой индекс:

labels[yourIndex].setText(txtname.getText().toString()) 
+0

Спасибо за идею. – abc

0

Если вы хотите изменить поведение некоторого элемента динамически во время выполнения, вы должны использовать Strategy design pattern.

Смежные вопросы