第4次作业类测试代码+119+陈云鹏
2017-05-03 16:26
513 查看
类图:
代码部分:
界面控制:
界面:
这天星期,上一天,下一天不可编辑
输入非法
正确输入
代码部分:
1 package sample; 2 3 import javafx.application.Application; 4 import javafx.event.EventHandler; 5 import javafx.fxml.FXMLLoader; 6 import javafx.scene.Parent; 7 import javafx.scene.Scene; 8 import javafx.scene.control.Alert; 9 import javafx.scene.control.Button; 10 import javafx.scene.control.TextField; 11 import javafx.scene.input.MouseEvent; 12 import javafx.stage.Stage; 13 14 import java.text.ParseException; 15 import java.text.SimpleDateFormat; 16 import java.util.Calendar; 17 18 19 public class Main extends Application { 20 21 static boolean next=false; 22 @Override 23 public void start(Stage primaryStage) throws Exception { 24 Parent root = FXMLLoader.load(getClass().getResource("sample.fxml")); 25 primaryStage.setTitle("计算日期--陈云鹏"); 26 primaryStage.setScene(new Scene(root, 400, 350)); 27 TextField mTextFiled_Year = (TextField) root.lookup("#textField_Year"); 28 TextField mTextFiled_Month = (TextField) root.lookup("#textField_Month"); 29 TextField mTextFiled_Day = (TextField) root.lookup("#textField_Day"); 30 TextField mTextFiled_Week = (TextField) root.lookup("#textField_Week"); 31 TextField mTextFiled_Previous = (TextField) root.lookup("#textField_Previous"); 32 TextField mTextFiled_Next = (TextField) root.lookup("#textField_Next"); 33 Button mButton_OK = (Button) root.lookup("#button_OK"); 34 mButton_OK.setOnMouseClicked(new EventHandler<MouseEvent>() { 35 @Override 36 public void handle(MouseEvent event) { 37 try { 38 int year = Integer.parseInt(mTextFiled_Year.getText()); 39 int month = Integer.parseInt(mTextFiled_Month.getText()); 40 int day = Integer.parseInt(mTextFiled_Day.getText()); 41 String result = nextdate(month, day, year); 42 if (result.equals("月份超出范围") || result.equals("日期超出范围") || result.equals("年份超出范围") || result.equals("日期不存在")) { 43 mTextFiled_Week.setText("---"); 44 mTextFiled_Previous.setText("----/--/--"); 45 mTextFiled_Next.setText("----/--/--"); 46 } else { 47 next = false; 48 mTextFiled_Previous.setText(nextdate(month, day, year));//前一天 49 next = true; 50 mTextFiled_Next.setText(nextdate(month, day, year));//后一天 51 mTextFiled_Week.setText(getWeek(month, day, year)); 52 } 53 } 54 catch (Exception e){ 55 Alert alert = new Alert(Alert.AlertType.INFORMATION); 56 alert.setHeaderText("请输入数字"); 57 alert.show(); 58 } 59 } 60 }); 61 primaryStage.show(); 62 } 63 64 public static String nextdate(int month, int day, int year) { 65 if (month < 1 || month > 12) 66 return "月份超出范围"; 67 if (day < 1 || day > 31) 68 return "日期超出范围"; 69 if (year < 1912 || year > 2050) 70 return "年份超出范围"; 71 SimpleDateFormat sFormat = new SimpleDateFormat("yyyyMMdd"); 72 sFormat.setLenient(false); 73 try { 74 Calendar c = Calendar.getInstance(); 75 c.setTime(sFormat.parse("" + year + String.format("%02d", month) + String.format("%02d", day))); 76 if(next) 77 c.add(Calendar.DATE, 1); 78 else c.add(Calendar.DATE, -1); 79 return c.get(Calendar.YEAR) + "年" + (c.get(Calendar.MONTH) + 1) + "月" + c.get(Calendar.DATE) + "日"; 80 } catch (ParseException e) { 81 return "日期不存在"; 82 } 83 } 84 85 public static String getWeek(int month, int day, int year) { 86 String result[] = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; 87 SimpleDateFormat sFormat = new SimpleDateFormat("yyyyMMdd"); 88 sFormat.setLenient(false); 89 Calendar c = Calendar.getInstance(); 90 try { 91 c.setTime(sFormat.parse("" + year + String.format("%02d", month) + String.format("%02d", day))); 92 } catch (ParseException e) { 93 e.printStackTrace(); 94 return "--"; 95 } 96 int w = c.get(Calendar.DAY_OF_WEEK) - 1; 97 if (w < 0) 98 w = 0; 99 return result[w]; 100 } 101 102 public static void main(String[] args) { 103 launch(args); 104 } 105 }
界面控制:
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <?import javafx.scene.text.*?> 4 <?import javafx.scene.control.*?> 5 <?import java.lang.*?> 6 <?import javafx.scene.layout.*?> 7 <?import javafx.geometry.Insets?> 8 <?import javafx.scene.layout.GridPane?> 9 <?import javafx.scene.control.Button?> 10 <?import javafx.scene.control.Label?> 11 12 <GridPane alignment="center" hgap="10" vgap="10" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller"> 13 <columnConstraints> 14 <ColumnConstraints /> 15 </columnConstraints> 16 <rowConstraints> 17 <RowConstraints /> 18 </rowConstraints> 19 <children> 20 <Pane prefHeight="375.0" prefWidth="426.0"> 21 <children> 22 <TextField id="textField_Year" layoutX="43.0" layoutY="130.0" prefHeight="23.0" prefWidth="71.0" /> 23 <TextField id="textField_Month" layoutX="179.0" layoutY="130.0" prefHeight="23.0" prefWidth="71.0" /> 24 <TextField id="textField_Day" layoutX="312.0" layoutY="130.0" prefHeight="23.0" prefWidth="71.0" /> 25 <Text layoutX="33.0" layoutY="111.0" strokeType="OUTSIDE" strokeWidth="0.0" text="请输入要计算的年月日" /> 26 <Text layoutX="14.0" layoutY="146.0" strokeType="OUTSIDE" strokeWidth="0.0" text="年:" /> 27 <Text layoutX="148.0" layoutY="146.0" strokeType="OUTSIDE" strokeWidth="0.0" text="月:" /> 28 <Text layoutX="282.0" layoutY="145.0" strokeType="OUTSIDE" strokeWidth="0.0" text="日:" /> 29 <Text layoutX="117.0" layoutY="272.0" strokeType="OUTSIDE" strokeWidth="0.0" text="上一天是:" /> 30 <Text layoutX="117.0" layoutY="303.0" strokeType="OUTSIDE" strokeWidth="0.0" text="下一天是:" /> 31 <Text layoutX="105.0" layoutY="240.0" strokeType="OUTSIDE" strokeWidth="0.0" text="这天星期是:" /> 32 <TextField id="textField_Week" editable="false" layoutX="185.0" layoutY="224.0" prefHeight="23.0" prefWidth="120.0" /> 33 <TextField id="textField_Previous" editable="false" layoutX="185.0" layoutY="256.0" prefHeight="23.0" prefWidth="120.0" /> 34 <TextField id="textField_Next" editable="false" layoutX="185.0" layoutY="287.0" prefHeight="23.0" prefWidth="120.0" /> 35 <Button id="button_OK" layoutX="143.0" layoutY="176.0" mnemonicParsing="false" text="OK" /> 36 <Button layoutX="225.0" layoutY="176.0" mnemonicParsing="false" text="Cancel" /> 37 </children> 38 </Pane> 39 </children> 40 </GridPane>
界面:
这天星期,上一天,下一天不可编辑
输入非法
正确输入
相关文章推荐
- 第4次作业类测试代码+037+吴烨倩
- 第4次作业类测试代码+105032014070+胡阳洋
- 第4次作业类测试代码+105032014124+高小娟
- 第4次作业类测试代码+001+陈定国
- 第4次作业类测试代码+142+王娇
- 第4次作业类测试代码+149+肖雷
- 第4次作业类测试代码+163+张玉洁
- 第4次作业类测试代码+105032014164+张增进
- 第4次作业类测试代码+105032014118+陈元可
- 第4次作业类测试代码+063+陈彧
- 第4次作业类测试代码+105032014166+张珍珍
- 第4次作业类测试代码+085
- 第4次作业类测试代码+005+陈晓华
- 第4次作业类测试代码+141+汤阳斌
- 第4次作业类测试代码+105032014065+方绎杰
- 第4次作业类测试代码+033+王泓泽
- 第4次作业类测试代码+105032014162+张倩
- 第4次作业类测试代码+105032014158+余超勇
- 第4次作业类测试代码+067+冯艳芳
- 第4次作业类测试代码+028+刘孝天