Создание Fest ComponentFinder не бросает, если не совпадает на вызов Find ()JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Создание Fest ComponentFinder не бросает, если не совпадает на вызов Find ()

Сообщение Anonymous »

Как я могу сделать ComponentFinder не бросить, если совпадение не найдено (

Код: Выделить всё

finder.find()
)? Я хочу, чтобы это, помимо прочего, возвращал необязательный s, если запрашивается один компонент, но ни один не найден. Я мог бы сделать Delegate ComponentFinder invoke findall () , а затем вернуть необязательный первого элемента или необязательный. EMPTY () , если коллекция пуста. Тем не менее, это сделает метод менее эффективным, поскольку делегат будет пройти всю иерархию компонентов, даже если желательно только одно совпадение. < /P>
catch ing componentlookupexception s чувствует себя неправильно (как и любая try/catch с участием Runtimeexception s)
java 8.
import org.fest.swing.core.BasicComponentFinder;
import org.fest.swing.core.ComponentFinder;
import org.fest.swing.core.GenericTypeMatcher;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import javax.swing.JLabel;
import javax.swing.JPanel;

import static org.junit.jupiter.api.Assertions.assertNull;

public class ComponentFinderTest {

ComponentFinder finder;

@BeforeEach
void setUp() {
finder = BasicComponentFinder.finderWithCurrentAwtHierarchy();
}

@Test
public void testFind() throws Exception {
JPanel panel = new JPanel();
// throws org.fest.swing.exception.ComponentLookupException
JLabel label = finder.find(panel, new GenericTypeMatcher(JLabel.class, false) {
@Override
protected boolean isMatching(JLabel component) {
return true;
}
});
assertNull(label);
}
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... -find-call
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»