Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.*;
- import java.awt.*;
- import java.time.ZonedDateTime;
- import java.time.format.*;
- import java.util.Locale;
- import java.util.ResourceBundle;
- class DateTimeGUIDemo extends JFrame {
- JRadioButton radSys, radPattern;
- JComboBox<String> cmbSys, cmbPattern; //, cmbLanguage;
- JComboBox<Locale> cmbLanguage;
- JPanel pSys, pPattern, pLang;
- JLabel lblDateTime, lblLanguage;
- ButtonGroup bg;
- String sys = "FULL", pattern = "EE";
- boolean isSys = true;
- Locale defaultLocale;
- ResourceBundle string;
- public DateTimeGUIDemo(){
- super("Date Time Formatter");
- defaultLocale = Locale.getDefault();
- string = ResourceBundle.getBundle("string", defaultLocale);
- bg = new ButtonGroup();
- radSys = new JRadioButton("System Defined");
- radPattern = new JRadioButton("Select Pattern");
- bg.add(radPattern);
- bg.add(radSys);
- cmbSys = new JComboBox<>(new String[]{"FULL", "MEDIUM", "SHORT", "LONG"});
- cmbPattern = new JComboBox<>(new String[]{"EE, dd-MM-YY","dd/MMMM/YYYY", "EEEE dd MMMM, YYYY", "hh:mm:ss a"});
- cmbLanguage = new JComboBox<>(new Locale[]{new Locale("en"), new Locale("de")});
- lblDateTime = new JLabel("Your Date Time here");
- lblLanguage = new JLabel("Select Language");
- pSys = new JPanel();
- pPattern = new JPanel();
- pLang = new JPanel();
- pSys.add(radSys);
- pSys.add(cmbSys);
- pPattern.add(radPattern);
- pPattern.add(cmbPattern);
- pLang.add(lblLanguage);
- pLang.add(cmbLanguage);
- setLayout(new GridLayout(4,1, 10,10));
- add(pLang);
- add(pSys);
- add(pPattern);
- add(lblDateTime);
- radSys.addActionListener((ae)->{
- if(radSys.isSelected()) {
- isSys = true;
- cmbPattern.setEnabled(false);
- cmbSys.setEnabled(true);
- }
- });
- radPattern.addActionListener((ae)->{
- if(radPattern.isSelected()) {
- isSys = false;
- cmbPattern.setEnabled(true);
- cmbSys.setEnabled(false);
- }
- });
- cmbLanguage.addActionListener(l -> {
- defaultLocale = (Locale) cmbLanguage.getSelectedItem();
- updateLanguage();
- });
- cmbSys.addActionListener(l -> {
- sys = cmbSys.getSelectedItem().toString();
- System.out.println(cmbSys.getSelectedItem());
- updateTime();
- });
- cmbPattern.addActionListener(l -> {
- pattern = cmbPattern.getSelectedItem().toString();
- System.out.println("pattern: " + pattern);
- updateTime();
- });
- radSys.setSelected(true);
- cmbPattern.setEnabled(false);
- cmbSys.setEnabled(true);
- updateTime();
- }
- public void updateTime() {
- ZonedDateTime dt = ZonedDateTime.now();
- // Using Systems predefined formats
- DateTimeFormatter dtf1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL);
- if(isSys) {
- switch (sys) {
- case "FULL":
- dtf1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL);
- break;
- case "MEDIUM":
- dtf1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM);
- break;
- case "SHORT":
- dtf1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);
- break;
- case "LONG":
- dtf1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG);
- break;
- default:
- dtf1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL);
- break;
- }
- } else {
- dtf1 = DateTimeFormatter.ofPattern(pattern);
- }
- lblDateTime.setText(dt.format(dtf1));
- }
- public void updateLanguage() {
- string = ResourceBundle.getBundle("string", defaultLocale);
- setTitle(string.getString("title"));
- }
- public static void main(String[] args) {
- DateTimeGUIDemo ob = new DateTimeGUIDemo();
- ob.setSize(500,500);
- ob.setVisible(true);
- ob.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement