Segue codificação:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
import org.jdesktop.swingx.JXFrame;
import org.jdesktop.swingx.JXLabel;
import org.jdesktop.swingx.JXTaskPane;
import org.jdesktop.swingx.JXTaskPaneContainer;
public class taskPane extends JXFrame implements ActionListener {
// responsavel pelo formato de apresentação da hora.
DateFormat formatarHora = new SimpleDateFormat("HH:mm:ss");
// responsavel pelo tempo de atualização do relogio.
Timer timer;
// responsavel em aporesentar o relogio.
JXLabel label;
public taskPane(){
super("TaskPane");
setSize(800, 600);
setJMenuBar(createMenuBar());
add(createTaskPaneContainer(), BorderLayout.WEST);
// adiciona timer no frame e inicializa o temporizador
timer = new Timer(0, null);
timer.addActionListener(this);
timer.setCoalesce(true);
timer.start();
}
protected JMenuBar createMenuBar(){
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("Menu");
menu.setMnemonic(KeyEvent.VK_M);
menuBar.add(menu);
JMenuItem menuItem = new JMenuItem("Sair");
menuItem.setMnemonic(KeyEvent.VK_S);
menuItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_S,
ActionEvent.ALT_MASK));
menuItem.setActionCommand("sair");
menuItem.addActionListener(this);
menu.add(menuItem);
return menuBar;
}
protected JXTaskPaneContainer createTaskPaneContainer(){
JXTaskPaneContainer taskPaneContainer = new JXTaskPaneContainer();
JXTaskPane taskPane = new JXTaskPane();
taskPane.setTitle("Relógio ");
taskPane.setSpecial(true);
taskPaneContainer.add(taskPane);
label = new JXLabel();
taskPane.add(label);
return taskPaneContainer;
}
public static void createGuiAndShow(){
taskPane taskPaneDemo = new taskPane();
taskPaneDemo.setExtendedState(JXFrame.MAXIMIZED_BOTH);
taskPaneDemo.setDefaultCloseOperation(JXFrame.EXIT_ON_CLOSE);
taskPaneDemo.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
// apresenta e atualiza o display do relogio, pegando a hora diretamente do sistema.
label.setText(formatarHora.format(System.currentTimeMillis()));
if("sair".equals(e.getActionCommand())){
System.exit(0);
}
}
public static void main(String args[]){
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createGuiAndShow();
}
});
}
}
:: Referência
SwingLabs API
Nenhum comentário:
Postar um comentário