Micha80
2006-09-24, 19:47:01
Problem: Eine kleine GUI mit Textfeld das nach Klick auf den OK Button den Text aus dem Textfeld ausgeben soll.
In 'public void actionPerformed(ActionEvent event)' wird das Objekt (Textfeld) txtPort aber nicht mehr gefunden.
import java.awt.event.*;
import java.awt.*;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.*;
public class PTBTime extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
public PTBTime() { //Konstruktor
super("DayTime");
//Panel mit URL & PORT hinzufügen
JPanel panURL = new JPanel();
JLabel lblURL = new JLabel("URL:", SwingConstants.LEFT);
panURL.add(lblURL);
JTextField txtURL = new JTextField(30);
txtURL.addActionListener(this);
txtURL.setToolTipText("Geben Sie einen Servernamen ein");
panURL.add(txtURL);
JLabel lblPort = new JLabel("Port:", SwingConstants.LEFT);
panURL.add(lblPort);
JTextField txtPort = new JTextField(10);
txtPort.addActionListener(this);
txtPort.setToolTipText("Geben Sie einen PORT an");
panURL.add(txtPort);
panURL.setBorder(BorderFactory.createEtchedBorder());
getContentPane().add(panURL, BorderLayout.NORTH);
//'Ausgabe' Textfeld
JPanel panDayTime = new JPanel();
JLabel lblDayTime = new JLabel("DayTime:", SwingConstants.LEFT);
panDayTime.add(lblDayTime);
JTextField txtDayTime = new JTextField(30);
txtDayTime.setToolTipText("Geben Sie einen Servernamen ein");
panDayTime.add(txtDayTime);
panDayTime.setBorder(BorderFactory.createEtchedBorder());
getContentPane().add(panDayTime, BorderLayout.CENTER);
JPanel buttonPanel = new JPanel();
JButton btnOK = new JButton("OK");
btnOK.addActionListener(this);
buttonPanel.add(btnOK);
buttonPanel.setBorder(BorderFactory.createEtchedBorder());
getContentPane().add(buttonPanel, BorderLayout.SOUTH);
//Windows-Listener
//addWindowListener(new WindowClosingAdapter(true));
}
public void actionPerformed(ActionEvent event) {
String cmd = event.getActionCommand();
if (cmd.equals("OK")) {
System.out.println(txtPort.getText());
}
}
}
Eclipse 3.2 + Java 4.12
In 'public void actionPerformed(ActionEvent event)' wird das Objekt (Textfeld) txtPort aber nicht mehr gefunden.
import java.awt.event.*;
import java.awt.*;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.*;
public class PTBTime extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
public PTBTime() { //Konstruktor
super("DayTime");
//Panel mit URL & PORT hinzufügen
JPanel panURL = new JPanel();
JLabel lblURL = new JLabel("URL:", SwingConstants.LEFT);
panURL.add(lblURL);
JTextField txtURL = new JTextField(30);
txtURL.addActionListener(this);
txtURL.setToolTipText("Geben Sie einen Servernamen ein");
panURL.add(txtURL);
JLabel lblPort = new JLabel("Port:", SwingConstants.LEFT);
panURL.add(lblPort);
JTextField txtPort = new JTextField(10);
txtPort.addActionListener(this);
txtPort.setToolTipText("Geben Sie einen PORT an");
panURL.add(txtPort);
panURL.setBorder(BorderFactory.createEtchedBorder());
getContentPane().add(panURL, BorderLayout.NORTH);
//'Ausgabe' Textfeld
JPanel panDayTime = new JPanel();
JLabel lblDayTime = new JLabel("DayTime:", SwingConstants.LEFT);
panDayTime.add(lblDayTime);
JTextField txtDayTime = new JTextField(30);
txtDayTime.setToolTipText("Geben Sie einen Servernamen ein");
panDayTime.add(txtDayTime);
panDayTime.setBorder(BorderFactory.createEtchedBorder());
getContentPane().add(panDayTime, BorderLayout.CENTER);
JPanel buttonPanel = new JPanel();
JButton btnOK = new JButton("OK");
btnOK.addActionListener(this);
buttonPanel.add(btnOK);
buttonPanel.setBorder(BorderFactory.createEtchedBorder());
getContentPane().add(buttonPanel, BorderLayout.SOUTH);
//Windows-Listener
//addWindowListener(new WindowClosingAdapter(true));
}
public void actionPerformed(ActionEvent event) {
String cmd = event.getActionCommand();
if (cmd.equals("OK")) {
System.out.println(txtPort.getText());
}
}
}
Eclipse 3.2 + Java 4.12