2013-06-08 19 views
2

У меня есть форма для добавления текстового поля в GridBagLayout. Возможно ли, что каждое добавление текстового поля, поле будет иметь другое имя для переменной? Поскольку теперь каждый раз добавляется одно и то же имя, но разные x, y Я думал создать статическое поле в качестве счетчика, который будет добавлен к имени переменной, но я не знаю, как добавить этот номер к имени.Добавление элемента - другое имя переменной

Вот мой код:

JTextArea dodawanyTextField = new javax.swing.JTextArea(); 


    dodawanyTextField.setText(nazwaLekcjiTextField.getText()); 

    gridBagConstraints = new java.awt.GridBagConstraints(); 
    gridBagConstraints.weighty = 1; 
    gridBagConstraints.fill = GridBagConstraints.VERTICAL; 
    //gridBagConstraints.gridheight = 100; 
    gridBagConstraints.gridheight = ileGodzinLekcji; 
    gridBagConstraints.gridx = dzienLekcji; 
    gridBagConstraints.gridy = godzinaLekcji; 


    if (wykladRadioButton.isSelected()) { 
     dodawanyTextField.setBackground(new java.awt.Color(245, 184, 0)); 
    } else if (cwiczeniaRadioButton.isSelected()) { 
     dodawanyTextField.setBackground(new java.awt.Color(61, 245, 0)); 
    } else if (laboratoriumRadioButton.isSelected()) { 
     dodawanyTextField.setBackground(new java.awt.Color(0, 184, 245)); 
    } 
    dodawanyTextField.setMaximumSize(new java.awt.Dimension(125, 800)); 
    dodawanyTextField.setPreferredSize(new java.awt.Dimension(125, 50)); 
    dodawanyTextField.setWrapStyleWord(true); 
    dodawanyTextField.setLineWrap(true); 
    jPanel3.add(dodawanyTextField, gridBagConstraints); 
+2

Нет, это невозможно. Переменная не может иметь динамическое имя. Чего вы пытаетесь достичь? Если вы хотите сохранить ссылку на все добавленные текстовые области, добавьте их в «Список ». –

+0

Затем я хочу добавить GridBagLayout в базу данных. Проблема возникает позже, поскольку я хотел отредактировать какое-либо текстовое поле, потому что я не смогу сказать, что такое имя элемента. Я думаю, что добавить в поля базы данных такие как «имя переменной», «текст», «х», «у», «тип». – Aclber

+0

Я пишу апплет «расписание», так что, может быть, вместо używaniaGridBagLayout, я использую JTable? Как вы думаете, правильно ли это подходит для этого типа программы? – Aclber

ответ

0

Это, вероятно, неправильное решение для Вас конкретной проблемы, но прямой ответ на вопрос об именах, вы можете дать имя любого AWT компонент:

dodawanyTextField.setName("useful identifier"); 

и получить его позже с getName(). Как сказано, это, вероятно, не то, что вы должны использовать, так как вы хотите добавить больше данных, чем просто идентификатор в текстовое поле. Во всяком случае, это трюк, который иногда можно использовать, когда простота проблемы не требует сложного решения.

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