Как сделать этот код намного проще и короче, Java - PullRequest
2 голосов
/ 24 марта 2019

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

Я уже пытался объявить по одному.

contentPane1.setBackground(Color.PINK);
contentPane2.setBackground(Color.PINK);
contentPane3.setBackground(Color.PINK);
contentPane4.setBackground(Color.PINK);
contentPane5.setBackground(Color.PINK);

Мне нужно создать 10 кадров, и с таким кодом это будет очень долго. Я не знаю, как это сделать, я только начинающий. Спасибо:)

1 Ответ

3 голосов
/ 24 марта 2019

Вы можете использовать Stream своих панелей и вызывать setBackground с forEach подобным;

Stream.of(contentPane1, contentPane2, contentPane3, contentPane4, contentPane5)
        .forEach(p -> p.setBackground(Color.PINK));

Возможно, даже лучше (на десять) использоватьмассив;возможно как

JPanel[] panels = new JPanel[] { contentPane1, contentPane2, contentPane3, 
        contentPane4, contentPane5, contentPane6, contentPane7, 
        contentPane8, contentPane9, contentPane10
};
Arrays.stream(panels).forEach(p -> p.setBackground(Color.PINK));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...