希望有人能给我一点建议。我对 Java 真的很陌生(1-2 周),并且一直在使用教程来做到这一点,但我尝试的任何方法都不能让我做一个(简单的)任务。
当我单击 GUI 中的发送按钮时,我希望它在我的 GUI 上的 JTextArea 中设置文本/添加文本,我在 JTextField 中输入了该文本。我在下面提供了我的代码,以便有人可以指导我出错的地方。
package firstjavagui;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class FirstJavaGui extends JPanel implements ActionListener {
private static ActionListener e;
protected JTextField tf;
protected JTextArea ta;
protected JButton send;
private final static String newL = "\n";
public FirstJavaGui() {
}
@Override
public void actionPerformed(ActionEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
public class e implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
String text = tf.getText();
if (send.isSelected()) {
ta.setText(text + newL);
}
}
}
public static void main(String[] args) {
JFrame frame = new JFrame("Thomas' first application");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(575,300);
JMenuBar mb = new JMenuBar();
JMenu m1 = new JMenu("File");
JMenu m2 = new JMenu("Help");
mb.add(m1);
mb.add(m2);
JMenuItem m21 = new JMenuItem("Save");
JMenuItem m22 = new JMenuItem("Exit");
m1.add(m21);
m1.add(m22);
JButton send = new JButton("Send");
JButton reset = new JButton("Start/Restart");
JLabel enter = new JLabel("Enter text here:");
JTextField text = new JTextField(25);
JPanel p = new JPanel();
p.add(enter);
p.add(text);
p.add(send);
p.add(reset);
JTextArea ta = new JTextArea();
frame.getContentPane().add(BorderLayout.SOUTH,p);
frame.getContentPane().add(BorderLayout.NORTH, mb);
frame.getContentPane().add(BorderLayout.CENTER, ta);
send.addActionListener(e);
frame.setVisible(true);
}
}
如果有人可以帮助我,将不胜感激。
我认为这是因为我的所有按钮等都在我的 main 中,所以我的操作无法将“发送”识别为按钮......但是如果我在 main 方法之外编写我的 gui,它不会编译..我是新手对此,但我正在学习。只需要一只小手。