Как сделать некоторые из jtextfield & amp; Jlabel не появляется в JPanel

В Javascript, например, функции рассматриваются как один и тот же смешанный тип, как и все остальные (int, string, float, bool). Таким образом, вы можете создавать функции «на лету», назначать их вещам и называть их позже. Это полезно, но не то, что вы хотите использовать, или вы будете путать всех, кто должен поддерживать ваш код после вас ...

Это какой-то код, с которым я играл, чтобы увидеть, насколько глубоко это отверстие кролика идет:

var x = new Object;
x.thingy = new Array();
x.thingy[0] = function(){ return function(){ return function(){ alert('index 0 pressed'); }; }; }
x.thingy[1] = function(){ return function(){ return function(){ alert('index 1 pressed'); }; }; }
x.thingy[2] = function(){ return function(){ return function(){ alert('index 2 pressed'); }; }; }

for(var i=0 ;i<3; i++)
    x.thingy[i]()()();
0
задан Mine Flamer Kai Bin 17 January 2019 в 09:28
поделиться

1 ответ

Как насчет того, чтобы вместо того, чтобы использовать поля (я не уверен, что вы используете поля, но единственное, что я могу сделать без дополнительного кода, это предположить) для хранения компонентов в массивах? Я сделал пример с JLabels, вы можете сделать то же самое с текстовыми полями.

private static int idsCount = 6; //The number of ids. Let's say 6
private JLabel[] labels = new JLabel[8]; // Keep the array as a field. (8 = max capacity)

private void initIDLabels {
    for (int i = 0; i < labels.length; i++) {
        labels[i] = new JLabel();
        // add this font to all labels.
        labels[i].setFont(new Font("Tahoma", Font.BOLD, 12));
    }
    changeLabelsVisibility();
}

private void changeLabelsVisibility() {
    // Hide all labels.
    for (JLabel label : labels) {
        label.setVisible(false);
    }
    // Show all labels that supposed to be visible
    for (int i = 0; i < idsCount; i++) {
        labels[i].setVisible(true);
    }
}
0
ответ дан George Z. 17 January 2019 в 09:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: