簡體   English   中英

如何使 JButton 將文本從一個 JTextArea 添加到另一個 JTextArea

[英]How to make a JButton add text from one JTextArea to another JTextArea

我希望能夠在 JTextArea 't1' 中輸入文本,然后按下 JButton 'b1' 這會將文本從 't1' 添加到 JTextArea 't2'。 我在 actionPerformed 方法中已經有一些代碼,但 function 似乎沒有,我不知道為什么。 沒有錯誤消息,而是代碼根本沒有 function。 在我的代碼示例中,我只包含了創建按鈕的方法、JTextAreas 和動作偵聽器方法。 抱歉,如果我沒有完全正確地提出這個問題,這是我在這個平台上的第一個問題。

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);
    }
}

采取這一行: b1.setText("View Addresses")因為它現在是buttonName ,但不是Click ,因為您正在檢查actionCommand事件相等性

否則,這種方法應該可以解決您的問題

  @Override
  public void actionPerformed(ActionEvent e)
  {
       String text = t2.getText();

       if (e.getSource() == b1)
       {
         t1.append(text +  newline);
       }
   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM