﻿{"id":1411,"date":"2014-02-03T23:14:02","date_gmt":"2014-02-03T14:14:02","guid":{"rendered":"http:\/\/yucchi.jp\/blog\/?p=1411"},"modified":"2014-02-03T23:16:45","modified_gmt":"2014-02-03T14:16:45","slug":"javafx-%e3%81%ae-barchart-%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f","status":"publish","type":"post","link":"http:\/\/yucchi.jp\/blog\/?p=1411","title":{"rendered":"JavaFX \u306e BarChart \u3092\u8a66\u3057\u3066\u307f\u305f"},"content":{"rendered":"<p>\u3053\u306e\u3068\u3053\u308d JavaFX \u306e\u5b66\u7fd2\u3092\u3055\u307c\u3063\u3066\u3044\u305f\u306e\u3067\uff08\u30de\u30a4\u30da\u30fc\u30b9\u3068\u3082\u3044\u3046\uff09\u6a19\u6e96\u88c5\u5099\u3055\u308c\u305f Chart \u3092\u3044\u3058\u3063\u3066\u307f\u308b\u3053\u3068\u306b\u3057\u305f\u3002<\/p>\n<p>\u4eca\u56de\u3082 ITPro \u306e\u300c<a href=\"http:\/\/itpro.nikkeibp.co.jp\/article\/COLUMN\/20130430\/474261\/?ST=develop\" target=\"_blank\">JavaFX 2\u3067\u59cb\u3081\u308bGUI\u958b\u767a\u3000\u7b2c10\u56de \u7d44\u307f\u8fbc\u307f\u30d6\u30e9\u30a6\u30b6\u3068\u30c1\u30e3\u30fc\u30c8<\/a>\u300d\u3092\u53c2\u8003\u306b\u3055\u305b\u3066\u3082\u3089\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u5b9f\u306f\u3053\u3061\u3089\u306e\u8a18\u4e8b\u3067\u306f Scene Builder \u3092\u4f7f\u3063\u3066\u3044\u308b\u30b5\u30f3\u30d7\u30eb\u306f\u306a\u304b\u3063\u305f\u306e\u3067 Scene Builder \u3092\u4f7f\u3063\u3066\u5275\u308a\u306f\u3058\u3081\u307e\u3057\u305f\u3002<\/p>\n<p>\u30b9\u30bf\u30a4\u30eb\u306e\u8a2d\u5b9a\u3082\u7c21\u5358\u306b\u3067\u304d\u308b\u3093\u3060\u308d\u3046\u306a\u3068\u7518\u3044\u8003\u3048\u3092\u6301\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u7d50\u679c\u3092\u3044\u3046\u3068\u6065\u305a\u304b\u3057\u306a\u304c\u3089\u6483\u6c88\u3067\u3059\u3002(&gt;_&lt;\uff61)<\/p>\n<p>Scene Builder \u3092\u4f7f\u3048\u3070\u30b9\u30bf\u30a4\u30eb\u306e\u8a2d\u5b9a\u304c\u7c21\u5358\u306b\u3067\u304d\u308b\u3060\u308d\u3046\u3068\u601d\u3063\u3066\u3044\u305f\u304c\u4f7f\u3044\u65b9\u304c\u89e3\u3089\u306a\u304b\u3063\u305f\uff01<\/p>\n<p>\u30cd\u30c3\u30c8\u4e0a\u306b\u30b5\u30f3\u30d7\u30eb\u304c\u3042\u308b\u3060\u308d\u3046\u3068\u968f\u5206\u30b0\u30b0\u3063\u305f\u3051\u3069\u898b\u3064\u3051\u3089\u308c\u306a\u304b\u3063\u305f\u3002<\/p>\n<p>\u7d50\u5c40\u3001Scene Builder \u4f7f\u3063\u3066\u7c21\u5358\u306b\u3068\u3044\u3046\u306e\u306f\u5e7b\u3068\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u3002<\/p>\n<p>\u7d50\u5c40\u3001\u307b\u3068\u3093\u3069 ITPro \u306e\u30b5\u30f3\u30d7\u30eb\u307e\u3093\u307e\u306b\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u3002<\/p>\n<p>\u9078\u629e\u3057\u305f Chart \u304c BarChart \u3060\u3068\u3044\u3046\u3053\u3068\u304f\u3089\u3044\u3057\u304b\u306a\u3044\u306a\u30fb\u30fb\u30fb<\/p>\n<p>\u305b\u3081\u3066 Chart \u7528\u306e\u30c7\u30fc\u30bf\u3092\u5275\u3063\u3066\u308b\u30af\u30e9\u30b9\u304c Java 8 \u306a\u3089\u3067\u306f\u306e\u6a5f\u80fd\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u304b\u3089\u8a31\u3057\u3066\u306d\uff01<\/p>\n<p>\u305d\u3046\u8a00\u3046\u3053\u3068\u3067 Chart \u306b\u3064\u3044\u3066\u77e5\u308a\u305f\u3044\u65b9\u306f ITPro \u306e\u8a18\u4e8b\u3092\u8aad\u3093\u3067\u304f\u3060\u3055\u3044\u306d\u3002<\/p>\n<p>\u6d41\u308c\u7684\u306b\u306f X \u8ef8\u3001Y \u8ef8\u3092\u8a2d\u5b9a\u3057\u3066\u3001\u305d\u308c\u3092\u5f15\u6570\u306b\u3068\u3063\u305f Chart \u3092\u4f5c\u308b\u3002<\/p>\n<p>BarChart&lt;String, Number&gt; ramdomNumberBarChart = new BarChart&lt;&gt;(xAxis, yAxis);<\/p>\n<p>\u305d\u3057\u3066\u4f5c\u3063\u305f Chart \u306b\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u307e\u305b\u308b\u3063\u3066\u611f\u3058\u3067\u3059\u3002<\/p>\n<p>\u809d\u5fc3\u306a\u3068\u3053\u308d\u306f\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u307e\u305b\u308b\u3068\u3053\u308d\u3067\u3059\u306d\u3002<\/p>\n<p>\u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u306f<\/p>\n<p>XYChart.Series&lt;String, Number&gt; ramdomGaussian = new XYChart.Series&lt;&gt;();<\/p>\n<p>IntStream.rangeClosed(0, 9).forEach(i -&gt; {<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ramdomGaussian.getData().add(new XYChart.Data&lt;&gt;(String.valueOf(i), ramdomGaussianGenerator.counter.getOrDefault(i, 0L)));<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });<\/p>\n<p>ramdomNumberBarChart.getData().add(ramdomGaussian);<\/p>\n<p>\u3068\u3057\u3066\u307e\u3059\u3002<\/p>\n<p>\u30ac\u30a6\u30b9\u5206\u5e03\u4e71\u6570\u306e 0 \u304b\u3089 9 \u306e\u305d\u308c\u305e\u308c\u306e\u500b\u6570\u3092 BarChart \u306b\u30bb\u30c3\u30c8\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u304a\u3063\u3068\u3001\u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u6982\u8981\u3092\u8aac\u660e\u3059\u308b\u306e\u3092\u5fd8\u308c\u3066\u307e\u3057\u305f\u306d\u3002<\/p>\n<p>\u5927\u307e\u304b\u306b\u30b6\u30c3\u30af\u30ea\u8aac\u660e\u3059\u308b\u3068\u30ac\u30a6\u30b9\u5206\u5e03\u4e71\u6570\u3092\u4f5c\u308a\u3001\u305d\u308c\u3092\u3082\u3068\u306b 0 \u304b\u3089 9 \u306e\u6574\u6570\u3060\u3051\u3092 100 \u4e07\u500b\u4f5c\u308b\u3002<\/p>\n<p>\u305d\u3057\u3066\u3001\u305d\u308c\u3092\u305d\u308c\u305e\u308c\u3044\u304f\u3064\u3042\u308b\u304b\u30ab\u30a6\u30f3\u30c8\u3057\u3066 Map&lt;Integer, Long&gt; \u3067\u4fdd\u6301\u3059\u308b\u3002<\/p>\n<p>\u3064\u304f\u3063\u305f\u30ac\u30a6\u30b9\u5206\u5e03\u4e71\u6570 Map&lt;Integer, Long&gt; \u3092 0 \u304b\u3089 9 \u306e BarChart \u3068\u3057\u3066\u8868\u793a\u3055\u305b\u308b\u3002<\/p>\n<p>\u53f3\u80a9\u4e0b\u304c\u308a\u306e BarChart \u304c\u8868\u793a\u3055\u308c\u308c\u3070\u304a\u305d\u3089\u304f\u9593\u9055\u3063\u3066\u306f\u306a\u3044\u3060\u308d\u3046\u3002<\/p>\n<p>\u305d\u308c\u3067\u306f\u30c4\u30c3\u30b3\u30df\u3069\u3053\u308d\u306f\u3042\u308b\u3051\u3069\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u30bd\u30fc\u30b9\u3092\u8f09\u305b\u307e\u3059\u3002\u305d\u308c\u306f\u3044\u308d\u3044\u308d\u8a66\u3057\u3066\u3044\u305f\u3068\u8a00\u3046\u3053\u3068\u3067\u7b11\u3063\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p><pre title=\"RamdomGaussianGenerator.java\">\r\npackage jp.yucchi.randomnumber4gaussiandistribution;\r\n\r\nimport java.security.SecureRandom;\r\nimport java.util.Map;\r\nimport java.util.Random;\r\nimport java.util.stream.Collectors;\r\nimport java.util.stream.Stream;\r\n\r\n\/**\r\n *\r\n * @author Yucchi\r\n *\/\r\npublic class RamdomGaussianGenerator {\r\n\r\n    Random random = new SecureRandom();\r\n\r\n    Map<Integer, Long> counter = Stream.generate(random::nextGaussian)\r\n            .mapToDouble(e -> e)\r\n            .filter(e -> (e >= 0.0 && e < 1.0))\r\n            .mapToInt(e -> (int) (e * 10))\r\n            .limit(1_000_000)\r\n            .boxed()\r\n            .collect(Collectors.groupingBy(e -> e, Collectors.counting()));\r\n}\r\n<\/pre>\n<pre title=\"RandomNumber4GaussianDistribution.java\">\r\npackage jp.yucchi.randomnumber4gaussiandistribution;\r\n\r\nimport java.util.stream.IntStream;\r\nimport javafx.application.Application;\r\nimport javafx.scene.Scene;\r\nimport javafx.scene.chart.BarChart;\r\nimport javafx.scene.chart.CategoryAxis;\r\nimport javafx.scene.chart.NumberAxis;\r\nimport javafx.scene.chart.XYChart;\r\nimport javafx.scene.image.Image;\r\nimport javafx.scene.layout.StackPane;\r\nimport javafx.stage.Stage;\r\n\r\n\/**\r\n *\r\n * @author Yucchi\r\n *\/\r\npublic class RandomNumber4GaussianDistribution extends Application {\r\n\r\n    @Override\r\n    public void start(Stage primaryStage) {\r\n\r\n        RamdomGaussianGenerator ramdomGaussianGenerator = new RamdomGaussianGenerator();\r\n\r\n        StackPane root = new StackPane();\r\n\r\n        CategoryAxis xAxis = new CategoryAxis();\r\n        xAxis.setLabel(\"RandomNumber\");\r\n        NumberAxis yAxis = new NumberAxis();\r\n        yAxis.setLabel(\"Count\");\r\n\r\n        BarChart<String, Number> ramdomNumberBarChart = new BarChart<>(xAxis, yAxis);\r\n        ramdomNumberBarChart.setTitle(\"Gaussian RandomNumber\");\r\n        root.getChildren().add(ramdomNumberBarChart);\r\n        XYChart.Series<String, Number> ramdomGaussian = new XYChart.Series<>();\r\n        ramdomGaussian.setName(\"Gaussian distribution\");\r\n\r\n        IntStream.rangeClosed(0, 9).forEach(i -> {\r\n            ramdomGaussian.getData().add(new XYChart.Data<>(String.valueOf(i), ramdomGaussianGenerator.counter.getOrDefault(i, 0L)));\r\n        });\r\n\r\n        ramdomNumberBarChart.getData().add(ramdomGaussian);\r\n\r\n        Scene scene = new Scene(root, 800, 500);\r\n        scene.getStylesheets().add(this.getClass().getResource(\"chart.css\").toExternalForm());\r\n        Image myIcon = new Image(this.getClass().getResource(\"cludia_icon.png\").toString());\r\n        primaryStage.getIcons().add(myIcon);\r\n        primaryStage.setTitle(\"RandomNumber4GaussianDistribution\");\r\n        primaryStage.setScene(scene);\r\n        primaryStage.show();\r\n    }\r\n\r\n    public static void main(String[] args) {\r\n        launch(args);\r\n    }\r\n\r\n}\r\n\r\n<\/pre>\n<pre title=\"chart.css\">\r\n.chart {\r\n     -fx-background-image: url(\"icon.gif\");\r\n}\r\n\r\n.chart-legend {\r\n   -fx-background-color:  transparent;\r\n}\r\n \r\n.chart-legend-item-symbol{\r\n   -fx-background-radius: 0;\r\n}\r\n \r\n.chart-legend-item{\r\n    -fx-text-fill: #191970;\r\n}\r\n\r\n.chart-title {\r\n  -fx-text-fill: #4682b4;\r\n  -fx-font-size: 1.6em;\r\n}\r\n \r\n.axis-label {\r\n  -fx-text-fill: #4682b4;\r\n}\r\n\r\n.chart-bar {\r\n    -fx-bar-fill: #C2EEFF;\r\n}\r\n\r\n\/*.data0.chart-bar {\r\n    -fx-background-color: #ff7fbf;\r\n}\r\n.data1.chart-bar {\r\n    -fx-background-color: #ff7fff;\r\n}\r\n.data2.chart-bar {\r\n    -fx-background-color: #bf7fff;\r\n}\r\n.data3.chart-bar {\r\n    -fx-background-color: #7f7fff;\r\n}\r\n.data4.chart-bar {\r\n    -fx-background-color: #7fbfff;\r\n}\r\n.data5.chart-bar {\r\n    -fx-background-color: #7fffff;\r\n}\r\n.data6.chart-bar {\r\n    -fx-background-color: #7fffbf;\r\n}\r\n.data7.chart-bar {\r\n    -fx-background-color: #bfff7f;\r\n}\r\n.data8.chart-bar {\r\n    -fx-background-color: #bfff7f;\r\n}\r\n.data9.chart-bar {\r\n    -fx-background-color: #ffff7f;\r\n}*\/\r\n<\/pre>\n<\/p>\n<p>&nbsp;<\/p>\n<p>\u5b9f\u884c\u7d50\u679c\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p><a href=\"http:\/\/yucchi.jp\/blog\/wp-content\/uploads\/2014\/02\/1.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" title=\"1\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"1\" src=\"http:\/\/yucchi.jp\/blog\/wp-content\/uploads\/2014\/02\/1_thumb.png\" width=\"820\" height=\"543\"><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u3092\u4f7f\u308f\u306a\u3044\u7d20\u306e\u72b6\u614b\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p><a href=\"http:\/\/yucchi.jp\/blog\/wp-content\/uploads\/2014\/02\/2.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" title=\"2\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"2\" src=\"http:\/\/yucchi.jp\/blog\/wp-content\/uploads\/2014\/02\/2_thumb.png\" width=\"821\" height=\"546\"><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u3069\u3061\u3089\u306b\u3057\u308d\u53f3\u80a9\u4e0b\u304c\u308a\u306e BarChart \u304c\u8868\u793a\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n<p>\u3081\u3067\u305f\u3057\uff01\u3081\u3067\u305f\u3057\uff01 (^_^)<\/p>\n<p>\u5f8c\u306f\u3001Scene Builder \u304b\u3089\u30b9\u30bf\u30a4\u30eb\u306e\u8a2d\u5b9a\u3092\u7c21\u5358\u306b\u3059\u308b\u65b9\u6cd5\u304c\u3042\u308c\u3070\u305d\u308c\u3082\u8a66\u3057\u3066\u307f\u305f\u3044\u3002<\/p>\n<p>\u7d50\u5c40\u3001CSS \u30d5\u30a1\u30a4\u30eb\u3092\u30b3\u30fc\u30c9\u5074\u304b\u3089\u8aad\u307f\u8fbc\u307e\u305b\u3066\u306f\u610f\u5473\u306a\u3044\u3057\u3001Java 8 \u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f\u3089 JavaFX \u3067\u30d7\u30ed\u30b0\u30e9\u30e0\u7d44\u3080\u4eba\u3082\u5897\u3048\u308b\u3060\u308d\u3046\u304b\u3089\u305d\u306e\u3046\u3061 GOOD \u306a\u60c5\u5831\u3092\u5165\u624b\u3067\u304d\u308b\u3060\u308d\u3046\u3002<\/p>\n<p>\u3044\u305a\u308c\u306b\u3057\u308d\u3001JavaFX \u306f\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u4f7f\u3048\u308b\u304b\u3089\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u898b\u6804\u3048\u3082\u30ac\u30e9\u30c3\u3068\u5909\u308f\u3063\u3066\u3057\u307e\u3046\u3002<\/p>\n<p>\u30c7\u30b6\u30a4\u30f3\u30bb\u30f3\u30b9\u306e\u3042\u308b\u4eba\u304c\u4f7f\u3048\u3070\u5f37\u529b\u306a\u6b66\u5668\u3068\u306a\u308b\u3053\u3068\u306f\u9593\u9055\u3044\u306a\u3044\uff01<\/p>\n<p>\u6b8b\u5ff5\u306a\u304c\u3089\u79c1\u306f\u30c7\u30b6\u30a4\u30f3\u30bb\u30f3\u30b9\u306f\u6a19\u6e96\u88c5\u5099\u3055\u308c\u3066\u3082\u306a\u3044\u3057\u30aa\u30d7\u30b7\u30e7\u30f3\u8a2d\u5b9a\u3082\u306a\u3044\u306e\u3067\u6ce3\u304d\u305f\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u4eca\u56de\u3001Chart \u95a2\u9023\u306e CSS \u306e\u8a2d\u5b9a\u306b\u3064\u3044\u3066\u30b0\u30b0\u3063\u3066\u307f\u3066\u3082\u65e5\u672c\u8a9e\u3067\u306f\u3042\u307e\u308a\u60c5\u5831\u304c\u306a\u304b\u3063\u305f\u3002<\/p>\n<p>\u53c2\u8003\u307e\u3067\u306b<\/p>\n<p><a href=\"http:\/\/docs.oracle.com\/javafx\/2\/api\/javafx\/scene\/doc-files\/cssref.html\" target=\"_blank\">JavaFX CSS Reference Guide<\/a><\/p>\n<p>\u30b5\u30f3\u30d7\u30eb\u306f\u7121\u3044\u3057\u3001\u82f1\u8a9e\u306a\u306e\u3067\u6ce3\u304d\u305f\u304f\u306a\u308a\u307e\u3059\u3002(&gt;_&lt;\uff61)<\/p>\n<p>\u5916\u56fd\u8a9e\u3067\u306e\u60c5\u5831\u3082\u5c11\u306a\u304b\u3063\u305f\u3002<\/p>\n<p>\u3053\u308c\u3082\u305d\u306e\u3046\u3061\u60c5\u5831\u304c\u5897\u3048\u3066\u304f\u308b\u306e\u3092\u3086\u3063\u304f\u308a\u3068\u5f85\u3064\u3068\u3057\u3088\u3046\u3002<\/p>\n<p>\u30de\u30a4\u30da\u30fc\u30b9\u3067\u304a\u6c17\u697d\u306b\u697d\u3057\u3093\u3067\u304c\u79c1\u306e\u30e2\u30c3\u30c8\u30fc\u306a\u306e\u3067\u4eca\u65e5\u306f\u3053\u3053\u307e\u3067\u3067\u304d\u305f\u81ea\u5206\u3092\u8912\u3081\u3066\u3042\u3052\u3088\u3046\uff01<\/p>\n<div id=\"scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d4fdd79d-254d-4dfd-989d-3dad712be1de\" class=\"wlWriterEditableSmartContent\" style=\"float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px\">Hatena \u30bf\u30b0: <a href=\"http:\/\/b.hatena.ne.jp\/t\/JavaFX\" rel=\"tag\">JavaFX<\/a><\/div>\n<div class='wp_social_bookmarking_light'>\n            <div class=\"wsbl_hatena\"><a href='\/\/b.hatena.ne.jp\/add?mode=confirm&url=http%3A%2F%2Fyucchi.jp%2Fblog%2F%3Fp%3D1411&title=JavaFX%20%E3%81%AE%20BarChart%20%E3%82%92%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F' title='\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='http:\/\/yucchi.jp\/blog\/wp-content\/plugins\/wp-social-bookmarking-light\/public\/images\/hatena.gif' alt='\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0' title='\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0' width='16' height='12' class='wp_social_bookmarking_light_img' \/><\/a><\/div>\n            <div class=\"wsbl_facebook\"><a href='http:\/\/www.facebook.com\/share.php?u=http%3A%2F%2Fyucchi.jp%2Fblog%2F%3Fp%3D1411&t=JavaFX%20%E3%81%AE%20BarChart%20%E3%82%92%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F' title='Facebook \u306b\u30b7\u30a7\u30a2' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='http:\/\/yucchi.jp\/blog\/wp-content\/plugins\/wp-social-bookmarking-light\/public\/images\/facebook.png' alt='Facebook \u306b\u30b7\u30a7\u30a2' title='Facebook \u306b\u30b7\u30a7\u30a2' width='16' height='16' class='wp_social_bookmarking_light_img' \/><\/a><\/div>\n            <div class=\"wsbl_google_plus_one\"><g:plusone size=\"medium\" annotation=\"none\" href=\"http:\/\/yucchi.jp\/blog\/?p=1411\" ><\/g:plusone><\/div>\n            <div class=\"wsbl_twitter\"><a href=\"https:\/\/twitter.com\/share\" class=\"twitter-share-button\" data-url=\"http:\/\/yucchi.jp\/blog\/?p=1411\" data-text=\"JavaFX \u306e BarChart \u3092\u8a66\u3057\u3066\u307f\u305f\" data-lang=\"ja\">Tweet<\/a><\/div>\n    <\/div>\n<br class='wp_social_bookmarking_light_clear' \/>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u306e\u3068\u3053\u308d JavaFX \u306e\u5b66\u7fd2\u3092\u3055\u307c\u3063\u3066\u3044\u305f\u306e\u3067\uff08\u30de\u30a4\u30da\u30fc\u30b9\u3068\u3082\u3044\u3046\uff09\u6a19\u6e96\u88c5\u5099\u3055\u308c\u305f Chart \u3092\u3044\u3058\u3063\u3066\u307f\u308b\u3053\u3068\u306b\u3057\u305f\u3002 \u4eca\u56de\u3082 ITPro \u306e\u300cJavaFX 2\u3067\u59cb\u3081\u308bGUI\u958b\u767a\u3000\u7b2c10\u56de \u7d44\u307f\u8fbc\u307f\u30d6\u30e9\u30a6\u30b6\u3068\u30c1\u30e3\u30fc\u30c8\u300d\u3092\u53c2\u8003\u306b\u3055\u305b\u3066\u3082\u3089\u3044\u307e\u3057\u305f\u3002 \u5b9f\u306f\u3053\u3061\u3089\u306e\u8a18\u4e8b\u3067\u306f Scene Builder \u3092\u4f7f\u3063\u3066\u3044\u308b\u30b5\u30f3\u30d7\u30eb\u306f\u306a\u304b\u3063\u305f\u306e\u3067 Scene Builder \u3092\u4f7f\u3063\u3066\u5275\u308a\u306f\u3058\u3081\u307e\u3057\u305f\u3002 \u30b9\u30bf\u30a4\u30eb\u306e\u8a2d\u5b9a\u3082\u7c21\u5358\u306b\u3067\u304d\u308b\u3093\u3060\u308d\u3046\u306a\u3068\u7518\u3044\u8003\u3048\u3092\u6301\u3063\u3066\u3044\u307e\u3057\u305f\u3002 \u7d50\u679c\u3092\u3044\u3046\u3068\u6065\u305a\u304b\u3057\u306a\u304c\u3089\u6483\u6c88\u3067\u3059\u3002(&gt;_&lt;\uff61) Scene Builder \u3092\u4f7f\u3048\u3070\u30b9\u30bf\u30a4\u30eb\u306e\u8a2d\u5b9a\u304c\u7c21\u5358\u306b\u3067\u304d\u308b\u3060\u308d\u3046\u3068\u2026<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[21],"class_list":["post-1411","post","type-post","status-publish","format-standard","hentry","category-javafx","tag-javafx"],"_links":{"self":[{"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1411"}],"version-history":[{"count":2,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1411\/revisions"}],"predecessor-version":[{"id":1412,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1411\/revisions\/1412"}],"wp:attachment":[{"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1411"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1411"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}