// programmet visar ett exempel på aktiva komponenter (JTextField) import extra.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; // implements ActionListener betyder att den här klassen // kan "reagera" på inmatning // vad som händer specificeras i metoden actionPerformed() public class Textyta extends JFrame implements ActionListener { private JLabel rubrik = new JLabel("Önsketext", JLabel.CENTER); private JTextField text = new JTextField(20); private JLabel etikett = new JLabel("Önska rubrik"); public Textyta() { setTitle("Önskeprogrammet"); Container c = getContentPane(); // ändra typsnitt på rubriktexten rubrik.setFont(new Font("SansSerif",Font.PLAIN, 24)); // koppla en JLabel med ledtext till textfältet etikett.setLabelFor(text); // "tala om" för textfältet att det är det här objektet (this) // som ska hantera händelser text.addActionListener(this); // skapa en JPanel som ska innehålla textfält och en ledtext // och lägg till komponenterna JPanel panel = new JPanel(); panel.add(etikett); panel.add(text); // lägg till rubrik och panel i fönstrets contentpane c.add(rubrik, BorderLayout.NORTH); c.add(panel, BorderLayout.CENTER); // beräkna fönstrets storlek, visa det och tala om att // programmet ska avslutas när vi stänger fönstret pack(); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); } public static void main(String[] args) { // skapa ett fönster... Textyta t = new Textyta(); } // definierar vad som händer om en händelse inträffar // här: att användaren tryckt på enter public void actionPerformed(ActionEvent e) { rubrik.setText(text.getText()); } }