誰かが私にちょっとしたアドバイスをくれることを願っています。私はJavaに本当に慣れておらず(1〜2週間)、チュートリアルを使用してこれを達成していますが、(単純な)タスクを実行することはできません。
GUIで[送信]ボタンをクリックすると、JTextFieldに入力したGUIのJTextAreaにテキストを設定/テキストを追加する必要があります。私は以下に私のコードを提供したので、誰かが私が間違っていた場所に私を導くことができます。
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);
}
}
誰かが私を少し助けてくれたら大歓迎です。
すべてのボタンなどがメイン内にあるため、アクションが「送信」をボタンとして認識できないためだと思います...しかし、メインメソッドの外にGUIを書き込むと、コンパイルされません。私は新しいです。これにしかし私は学んでいます。小さな手が必要です。