package TextTest; import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; /** * Frame cu dou cimpuri de redactare pentru ceas * @author Dan * */ public class TextTestFrame extends JFrame { /** * */ private static final long serialVersionUID = 1L; public static final int DEFAULT_WIDTH = 300; public static final int DEFAULT_HEIGHT = 300; private JTextField hourField; private JTextField minuteField; private ClockPanel clock; public TextTestFrame() { setTitle("TextTest"); DocumentListener listner = new ClockFieldListner() ; //Adaugarea panelului cu cimpuri de redactare JPanel panel = new JPanel(); panel.add(new JLabel("Hours:")); hourField = new JTextField("12",3); panel.add(hourField); hourField.getDocument().addDocumentListener(listner); panel.add(new JLabel("Minutes:")); minuteField = new JTextField("00",3); panel.add(minuteField); minuteField.getDocument().addDocumentListener(listner); add(panel,BorderLayout.SOUTH); //Adaugarea ceasului clock = new ClockPanel(); add(clock,BorderLayout.CENTER); pack(); } /** * Instalarea ceasului cu numerele introduse in cimpuri */ public void setClock() { try { int hours = Integer.parseInt(hourField.getText().trim()); int minutes = Integer.parseInt(minuteField.getText().trim()); clock.setTime(hours, minutes); } catch (NumberFormatException e) {} //Daca taxtul nu este cifra atunci ceasul nu se pune } private class ClockFieldListner implements DocumentListener { public void changedUpdate(DocumentEvent e) {} public void insertUpdate(DocumentEvent e) { setClock(); } public void removeUpdate(DocumentEvent e) { setClock(); } } }