Так что у меня есть простой графический интерфейс Java, который имеет два редактируемых текстовых поля.
Если я введу первое, появится диалоговое окно с первым полем.
##########################################
# Message x #
##########################################
# Your textfields #
# 1: this is an editable field #
# #
##########################################
Если я вхожу, появится диалоговое окно, в котором отображается второе поле.
##########################################
# Message x #
##########################################
# Your textfields #
# 2: this is an editable field 2 #
# #
##########################################
Однако возможно ли открыть диалоговое окно, в котором оба поля отображаются пов то же время?
##########################################
# Message x #
##########################################
# Your textfields #
# 1: this is an editable field #
# 2: this is an editable field 2 #
##########################################
Это то, что я сделал до сих пор:
Мои текстовые рамки:
class EditTextFrame extends JFrame
{
private JTextField editableField1;
private JTextField editableField2;
public EditTextFrame()
{
setLayout(new FlowLayout());
editableField1 = new JTextField("This is an editable field", 25);
editableField2 = new JTextField("This is an editable field2", 25);
add(editableField1);
add(editableField2);
TextFieldHandler handler = new TextFieldHandler();
editableField1.addActionListener(handler);
editableField2.addActionListener(handler);
}
Мои события Action:
private class TextFieldHandler implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
String string1 = "";
String string2 = "";
if (e.getSource() == editableField1)
string1 = String.format("1: %s",
e.getActionCommand());
if (e.getSource() == editableField2)
string2 = String.format("2: %s",
e.getActionCommand());
JOptionPane.showMessageDialog(null, "Your textfields \n" + string1 + string2
);
}
}
Я знаю, что мой string concat бесполезен, так как один из них будет пустым, поскольку оператор if останавливается после выполнения условия ... но я не могу найти способ обойти ..