#java #swing #awt
Вопрос:
Я хочу иметь возможность вводить текст в область JTextArea «t1», а затем нажимать кнопку JTextArea «b1″, которая добавит текст из » t1 «в область JTextArea «t2». У меня уже есть некоторый код в методе actionPerformed, но он, похоже, не работает, и я не уверен, почему. Там нет сообщения об ошибке, вместо этого код просто не работает вообще. В моем примере кода здесь я включил только метод, который создает кнопку, области JText и метод прослушивателя действий. Извините, если я не совсем правильно задал этот вопрос, это мой первый вопрос на этой платформе.
private JTextArea t1, t2;
private JButton b1, b2;
private final static String newline = "n";
UserInterface()
{
t1 = new JTextArea();
t1.setBorder(BorderFactory.createCompoundBorder(border, BorderFactory.createEmptyBorder(15, 15, 15, 15)));
t1.setLineWrap(true);
t1.setBounds(470, 25, 280, 330);
t2 = new JTextArea("Enter Addresses Here");
t2.setBorder(BorderFactory.createCompoundBorder(border2, BorderFactory.createEmptyBorder(15, 15, 15, 15)));
t2.setLineWrap(true);
b1 = new JButton("Click");
b1.setBackground(Color.decode("#95edc5"));
b1.setBorderPainted(false);
b1.setOpaque(true);
b1.setText("View Addresses");
b1.setForeground(Color.decode("#2f4d3f"));
b1.setFont(new Font("Helvetica", Font.PLAIN, 18));
b1.addActionListener(this);
b1.setBounds(470, 395, 280, 63);
}
@Override
public void actionPerformed(ActionEvent e)
{
String text = t2.getText();
if (e.getActionCommand().equals("Click"))
{
t1.append(text newline);
}
}
Ответ №1:
Возьмите строку: b1.setText(«Просмотр адресов»), поскольку теперь это имя кнопки, но не щелчок, из-за равенства событий actionCommand, которое вы проверяете
Или иначе, этот подход должен решить вашу проблему
@Override
public void actionPerformed(ActionEvent e)
{
String text = t2.getText();
if (e.getSource() == b1)
{
t1.append(text newline);
}
}