基于JavaFX的SimpleDateFormat演示程序
生活随笔
收集整理的這篇文章主要介紹了
基于JavaFX的SimpleDateFormat演示程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
對于使用Java Date進行格式化的新手甚至對于使用Java Date進行格式化的有經驗的Java開發人員而言,可能有些棘手的事情是使用SimpleDateFormat規范日期/時間格式。 SimpleDateFormat的基于類級別的Javadoc的文檔非常詳盡,涵蓋了表示日期/時間的各個組成部分的模式。 但是,除非人們仔細閱讀并理解了這些不同的模式,否則要記住月份的小寫字母“ d”和一年中的大寫字母“ D”之間的區別或者記住是否是小寫字母“ m”或“大寫字母“ M”使用了幾個月而不是幾分鐘。 在本文中,我看一個用JavaFX編寫的簡單應用程序,它使開發人員可以快速嘗試任意模式,以查看SimpleDateFormat如何在給定任意模式的情況下呈現當前日期/時間。 從理論上講,開發人員可以使用這個簡單的工具快速確定其日期/時間模式的效果,但這實際上是應用JavaFX的一個借口。
下面的代碼清單包含完整的基于JavaFX 2.x的應用程序。
package dustin.examples;import java.text.SimpleDateFormat; import java.util.Date; import javafx.application.Application; import javafx.event.EventHandler; import javafx.geometry.Pos; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.TextField; import javafx.scene.control.TextFieldBuilder; import javafx.scene.input.MouseEvent; import javafx.scene.layout.Pane; import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.stage.Stage;/*** JavaFX application allowing for testing and demonstration of various String* formats for date/time.* * @author Dustin*/ public class DateTimeStringFormatDemonstrator extends Application {/*** Generate the application's main pane.* * @return Main pane for the application.*/private Pane generateMainPane(){final VBox vbox = new VBox();final TextField dateTimeFormatField =TextFieldBuilder.create().prefWidth(350).alignment(Pos.CENTER).promptText("Enter DateFormat").build();vbox.getChildren().add(dateTimeFormatField);final TextField formattedDateField =TextFieldBuilder.create().prefWidth(350).alignment(Pos.BASELINE_CENTER).promptText("Date Output Goes Here").build();formattedDateField.setEditable(false);final Button applyButton = new Button("Apply Format");applyButton.setPrefWidth(350);applyButton.setOnMousePressed(new EventHandler<MouseEvent>(){@Overridepublic void handle(MouseEvent mouseEvent){try{final SimpleDateFormat sdf =new SimpleDateFormat(dateTimeFormatField.getText());formattedDateField.setText(sdf.format(new Date()));formattedDateField.setAlignment(Pos.CENTER);}catch (Exception ex){formattedDateField.setText("ERROR");formattedDateField.setAlignment(Pos.CENTER);}formattedDateField.setAlignment(Pos.BASELINE_CENTER);}});vbox.getChildren().add(applyButton);vbox.getChildren().add(formattedDateField);return vbox;}/*** The method overridden from Application for starting the application.* * @param stage Primary stage.* @throws Exception Exceptions throwing during execution of JavaFX application.*/@Overridepublic void start(final Stage stage) throws Exception{stage.setTitle("JavaFX Date/Time String Format Presenter");final Group group = new Group();group.getChildren().add(generateMainPane());final Scene scene = new Scene(group, 350, 65, Color.DARKKHAKI);stage.setScene(scene);stage.show();}/*** Main function for running date/time format JavaFX application.* * @param arguments Command-line arguments; none expected.*/public static void main(final String[] arguments){Application.launch(arguments);} } 上面顯示的基于JavaFX 2的簡單應用程序使您可以輕松地嘗試不同的日期/時間格式模式,以查看SimpleDateFormat將如何處理每種模式。 接下來顯示在2012年5月8日星期二晚上使用的一系列此類。 這些示例演示了使用SimpleDateFormat幾個關鍵方面:- 大寫字母“ M”用于幾個月,小寫字母“ m”用于分鐘。
- “ M”字符的數量表示月份的表示形式(例如:5月的5、05或“ 5月”)。
- 大寫字母“ D”表示年份中的日期(自1月1日開始),小寫字母“ d”表示月份中的日期(自5月1日開始)。
- 兩個'y'或'Y'數字代表2位數字的年份,但是3或4個'Y'或'y'數字可用于4位數字的年份。
參考:來自JCG合作伙伴 Dustin Marx 的基于JavaFX的SimpleDateFormat演示器,來自Inspired by Actual Events博客。
翻譯自: https://www.javacodegeeks.com/2012/05/javafx-based-simpledateformat.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的基于JavaFX的SimpleDateFormat演示程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 地面互动投影是怎么样的应用形式现在比较潮
- 下一篇: 教程:Hibernate,JPA –第1