• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

最新Java情報局

ブラウザーやグラフが使える、JavaFXの特徴的な機能とJavaFX 8での新機能

櫻庭 祐一=Java in the Box 2017/01/26 ITpro

 今回は、JavaFXの最終回です。今まで紹介できなかったJavaFXの特徴的な機能を紹介します。後半ではJava SE 8に含まれるJavaFX 8の新機能について解説します。

ブラウザー

 JavaFXでは標準でブラウザーを描画要素として使用できます。SwingでもHTMLを部分的に使用できましたが、ブラウザーの代わりになるようなものではありませんでした。

 JavaFXのブラウザーは、OSSのWebKitがベースになっています。また、HTML 5にも対応しています。

 ブラウザーのクラスはjavafx.scene.web.WebViewクラスです。WebViewクラスは表示を担当し、HTMLの解釈などはjavafx.scene.web.WebEngineクラスで行います。

 使い方は簡単です。FXMLで配置したWebViewに対し、初期化時にITproのWebページをロードするようにしてみましょう。

リスト1●WebView/WebEngineクラスの使用例

@FXML
private WebView webview;

@Override
public void initialize(URL url, ResourceBundle rb) {
    // WebEngineオブジェクトの取得
    WebEngine engine = webview.getEngine();
    
    // ITproページのロード
    engine.load("http://itpro.nikkeibp.co.jp/");
}

 WebEngineオブジェクトはWebViewオブジェクトから取得します(青字部分)。Webページのロードは、赤字で示したようにloadメソッドで行います。

 実行例を図1に示しました。普通のブラウザーでの表示と遜色がないことが分かります。このサンプルはWebページをロードするだけの簡単なサンプルですが、WebView/WebEngineクラスではクッキーや履歴なども扱うことができます。

図1●WebViewの使用例
[画像のクリックで拡大表示]

グラフ

 JavaFXではグラフのためのノードも提供されています。使用できるグラフは以下の6種類です。棒グラフとエリアチャートは積み上げ形式にすることも可能です。

  • 円グラフ
  • 棒グラフ
  • 線グラフ
  • エリアチャート
  • 散布図
  • バブルチャート

 これらのグラフは円グラフとそれ以外に分けられます。円グラフ以外のグラフは、XY平面に描画するグラフです。つまり、x軸、y軸を持つグラフです。x軸、y軸を持つグラフはjavafx.scene.chart.XYChartクラスで表されます。

 そして、XYChartクラスのサブクラスが棒グラフ(BarChartクラス)や線グラフ(LineChartクラス)になります。グラフの基本的な要素はXYChartクラスで定義されているため、サブクラスの使い方も似通っています。

 XYChartクラスでは、x軸、y軸をjavafx.scene.chart.Axisクラスで表します。とはいうものの、Axisクラスを直接使用することはなく、表す対象によってサブクラスを使い分けます。標準で提供されているのが、数値を使用するNumberAxisクラスとカテゴリーを使用するCategoryAxisクラスです。

ここから先はITpro会員(無料)の登録が必要です。

次ページ グラフ上の系列はXYChart.Seriesクラ...
  • 1
  • 2
  • 3
  • 4
  • 5

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

ネットワーク/通信サービス

セキュリティ

もっと見る