質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

1回答

653閲覧

javafxのlaunchメソッドが使えない

HearthXml

総合スコア51

JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2017/10/04 14:52

編集2017/10/04 14:53

エラーが出て、mainメソッドのlaunchメソッドが使えません。
javafxを使っていれば使えるはずなのですができません。
エラーの内容はlaunchメソッドは存在しないでした。

環境
0. os win10
0. java8
0. Eclipse SDK Version: Neon (4.6)

java

1import java.awt.Desktop; 2import java.io.InputStream; 3import java.net.URI; 4 5import org.apache.http.client.methods.CloseableHttpResponse; 6import org.apache.http.client.methods.HttpGet; 7import org.apache.http.client.methods.HttpUriRequest; 8import org.apache.http.impl.client.CloseableHttpClient; 9import org.apache.http.impl.client.HttpClients; 10 11import com.rometools.rome.feed.synd.SyndEntryImpl; 12import com.rometools.rome.feed.synd.SyndFeed; 13import com.rometools.rome.io.SyndFeedInput; 14import com.rometools.rome.io.XmlReader; 15 16import javafx.application.Application; 17import javafx.application.Platform; 18import javafx.concurrent.Task; 19import javafx.scene.Node; 20import javafx.scene.Scene; 21import javafx.scene.control.Hyperlink; 22import javafx.scene.control.ScrollPane; 23import javafx.scene.control.ScrollPane.ScrollBarPolicy; 24import javafx.scene.image.Image; 25import javafx.scene.image.ImageView; 26import javafx.scene.layout.VBox; 27import javafx.stage.Stage; 28 29public class Main 30{ 31 // 定数 32 protected static final int WIDTH = 300; 33 protected static final int HEIGHT = 500; 34 35 public static void main(String[] args) 36 { 37 launch(args); 38 } 39 40 public void start(Stage primaryStage) throws Exception 41 { 42 // フォント色がおかしくなることへの対処 43 System.setProperty( "prism.lcdtext" , "false" ); 44 45 // シーングラフの作成 46 ScrollPane scroll = new ScrollPane(); 47 VBox root = new VBox(); 48 scroll.setContent( root ); 49 scroll.setHbarPolicy( ScrollBarPolicy.NEVER ); 50 scroll.setVbarPolicy( ScrollBarPolicy.ALWAYS ); 51 52 // シーンの作成 53 Scene scene = new Scene( scroll , WIDTH , HEIGHT ); 54 55 // ウィンドウ表示 56 primaryStage.setScene( scene ); 57 primaryStage.show(); 58 59 // RSSの取込・表示を遅延実行タスクを定義 60 Task<Boolean> task = new Task<Boolean>() 61 { 62 @Override 63 public Boolean call() throws Exception 64 { 65 // RSSのURLを指定 66 String uri = "http://drawr.net/feed.php?md=h"; 67 SyndFeed feed = null; 68 69 // RSSフィードを読み込み(キャッシュ機能付き)。 70 // try-with-resources構文での記述 71 try ( CloseableHttpClient client = HttpClients.createMinimal() ) 72 { 73 // HTTPリクエストの作成 74 HttpUriRequest method = new HttpGet(uri); 75 76 // HTTPリクエストを発行 77 try ( CloseableHttpResponse response = client.execute(method); 78 InputStream stream = response.getEntity().getContent() ) 79 { 80 // フィードを読込 81 SyndFeedInput input = new SyndFeedInput(); 82 feed = input.build(new XmlReader(stream)); 83 } 84 } 85 86 // 画面表示 87 for( Object entry : feed.getEntries() ) 88 { 89 // エントリーの取得 90 SyndEntryImpl e = (SyndEntryImpl) entry; 91 92 // エントリーを順次表示 93 Node node = createDrawrEntry( e ); 94 Platform.runLater( () -> root.getChildren().add( node ) ); 95 } 96 97 return null; 98 } 99 }; 100 101 // RSS取込・表示の遅延実行開始 102 Thread t = new Thread( task ); 103 t.setDaemon( true ); 104 t.start(); 105 106 } 107 108 /** 109 * DrawrのRSSフィードから表示用のノードを作成する 110 * @param e 111 * @return 112 */ 113 protected Node createDrawrEntry( SyndEntryImpl e ) 114 { 115 // エントリーの取得 116 String author = e.getAuthor(); 117 String title = e.getTitle(); 118 String link = e.getLink(); 119 String value = e.getDescription().getValue(); 120 121 // 画像URL解析 122 String imgUrl = value.substring( value.indexOf( "http" ) , value.lastIndexOf("\"") ); 123 124 // 画目出力 125 Image img = new Image( imgUrl ); 126 ImageView view = new ImageView( img ); 127 Hyperlink hyperLink = new Hyperlink(); 128 hyperLink.setText( title + "(" + author + ")" ); 129 hyperLink.setGraphic( view ); 130 hyperLink.setOnAction( arg -> 131 { 132 try { 133 // デフォルト・ブラウザを起動 134 Desktop desktop = Desktop.getDesktop(); 135 desktop.browse( new URI( link ) ); 136 } catch (Exception e1) { 137 e1.printStackTrace(); 138 } 139 }); 140 141 // 表示ノードを返す 142 return hyperLink; 143 } 144 145}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

MainがApplicationを継承していないからでは?

Java

1public class Main extends Application

投稿2017/10/04 15:32

編集2017/10/04 15:33
keicha_hrs

総合スコア6768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HearthXml

2017/10/05 11:13

ありがとうございます。できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問