Как вызвать `setText` на нескольких полях JText?
Я хочу выяснить способ установить текст для нескольких JTextfield
s всего в нескольких строках (предпочтительно одна строка) кода, а не в новой строке для каждого текстового поля.
Я ищу способ вызвать setText
метод на нескольких JTextfield
ценности. Мой код работает правильно, но я не хочу выписывать someField.setText("0.00");
для каждого JTextfield
,
Вот код с повторными вызовами, которые я хочу сократить:
JButton btnNewButton_1 = new JButton("Clear");
btnNewButton_1.setBounds(367, 533, 86, 32);
btnNewButton_1.setFont(new Font("Tahoma", Font.PLAIN, 11));
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textIncome.setText("0.00");
textGrossSalary.setText("0.00");
textGrossSalary.setText("0.00");
textHousehold.setText("0.00");
textFood.setText("0.00");
textChildren.setText("0.00");
textBills.setText("0.00");
textIncidentals.setText("0.00");
textCredit.setText("0.00");
textHome.setText("0.00");
textInvestings.setText("0.00");
textPets.setText("0.00");
textTransport.setText("0.00");
textLifestyle.setText("0.00");
textTax.setText("0.00");
textDisposable.setText("0.00");
textHealthFitness.setText("0.00");
textGiftsDonations.setText("0.00");
}
});
1 ответ
Поместите их в List
или массив и перебирать их
Например, создайте массив полей экземпляра, который содержит поля, которые вы хотите установить (с тем же значением)
private JTextField fields[] = new JTextField[]{
textIncome,
textGrossSalary,
textGrossSalary,
textHousehold,
textFood,
textChildren,
textBills,
textIncidentals,
textCredit,
textHome,
textInvestings,
textPets,
textTransport,
textLifestyle,
textTax,
textDisposable,
textHealthFitness,
textGiftsDonations};
Тогда когда ActionListener
срабатывает, переберите его...
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
for (JTextField field : fields) {
field.setText("0.00");
}
}
});
На основе btnNewButton_1.setBounds(367, 533, 86, 32);
Я бы посоветовал избегать использования null
макеты, идеальные пиксельные макеты - иллюзия в современном дизайне пользовательского интерфейса. Есть слишком много факторов, которые влияют на индивидуальный размер компонентов, ни один из которых вы не можете контролировать. Swing был разработан для работы с менеджерами компоновки в ядре, отказ от которых не приведет к концу проблем и проблем, которые вы будете тратить все больше и больше времени, пытаясь исправить