2016-01-16 7 views
1

Я работаю над проектом в java, где у меня есть Vector, который содержит объекты, содержащие JTextFields, CheckBoxes или blobs. Теперь мне нужно получить свойство текста из такого текстового поля.Получение текстового свойства от объекта в java

У меня есть этот код:

for(int i = 0; i < gridValues.size(); i++) { 
     Object value = gridValues.elementAt(i); 
     if (value instanceof JTextField) 
     { 

     } 
} 

я не уверен, как получить текст из стоимости объекта. Когда я просматриваю список первый элемент типа JTextField, поэтому он входит в оператор if, но теперь я должен получить свойство text из объекта tis, но я понятия не имею, как это сделать. GridValues ​​- это Вектор с возможными текстовыми полями, флажками и блоками.

ответ

0

Вы получите текст от стоимости на первом приведения его в JTextField и затем вызвать getText() на нем:

// after checking that value in fact refers to a JTextField 
String text = ((JTextField)value).getText(); 

например,

if (value instanceof JTextField) { 
    String text = ((JTextField)value).getText(); 
    // here use text for whatever it's needed for 
} 

Но вы должны рассмотреть вопрос об изменении вашего дизайна программы, так как использование смешанных типов в коллекциях делает для очень хрупкой программы, другими словами, программу, которая, вероятно, будет иметь ошибки в любое время, когда будут сделаны незначительные изменения.

+0

Спасибо за ответ! Он работает сейчас. Я все еще изучаю Java, мне нужно было это сделать проект для школы, поэтому через некоторое время я смогу сделать их ошибками бесплатно. –

1

Согласно the javadoc, можно получить текст JTextComponent, позвонив по телефону getText().

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