web-dev-qa-db-ja.com

SceneBuilder 2.0でfxmlファイルを開けないのはなぜですか?

SceneBuilder 2.0を使用して作成したfxmlファイルがあります。このファイルは、Netbeans 8を使用して開発しているJavaFxプロジェクトで使用されます。今日、SceneBuilderはファイルの操作を停止しました。ファイルを開こうとすると、SceneBuilderが最小化され、ファイルが開かなくなります。シーングラフにカスタムコンポーネントがありません。

ファイルの内容を新しいfxmlファイルにコピーし、新しい名前を付けました。 SceneBuilderは、コンテンツが開くことができないファイルと同一であっても、このファイルを開くことができました。

ここで何が起こっていますか?

申し訳ありませんが、fxmlファイルの内容を投稿できません。

32
Justin Wiseman

さて、ここでこの奇妙な問題の解決策を探しています!私のために他の答えがどれも役に立たないのを見て、私は思いつく限りのランダムなことをしましたが、うまくいきました。

Open SceneBuilder (a brand new one). Go to File > Open Recent > Clear Menu. Close Scene Builder.

これでバグが修正されるはずです(私にとってはそうでした)

PS:この回答を投稿するのは恥ずかしいです。しかし、これは時間を浪費する厄介なバグであるため、他の誰かがそれらを無駄にしたくないのです。

PPS:また、このソリューションを再確認することはできません。それは私にとってはうまく機能し、バグのあるシナリオをもう再現できないからです。

100
sinujohn

SBプログラムにAltキーを押しながらタブを移動してからウィンドウを最大化することにより、この問題を解決しました(ショートカット:ウィンドウキー+上矢印キー)。

SBのバグのようです。

5
Richard Feng

また、Win 7でこの問題が発生しました。トリックは、SBタスクバーアイコンを右クリックし、ウィンドウを最大化し、タイトルバーまでドラッグすると、実際の小さなウィンドウが表示され、ウィンドウのサイズが変更されます。 SBの表示バグだと思います。幸運を。

2
Sam1am

同じ問題がありました。バグのように見えます。

新しいFXMLファイル(空)を作成することで解決し、元のFXMLファイルのすべてのコードをそこにコピーしました。 SceneBuilderによって開かれた新しいFXML。

2
user3718537

約4時間を費やし、この方法で解決しました。私のfxmlドキュメントには、</child>タグを持つFlowPaneがありました。それを<child></child>に変更し、動作しました-SceneBuilderはfxmlドキュメントを開きました。私はこれがスーパーリターデットであることを知っており、なぜこれが起こるのか説明できませんが、これを再現することができます...

1
user6369315

私にとっての問題は、FXMLファイルで与えていた画像のパスにありました。 @の後に画像パスを使用することで問題を解決できました。この構文エラーを使用すると、アプリケーションを実行できますが、シーンビルダーはファイルを開くことを拒否します。

例えば(相対パスを提供していると仮定):

間違った構文:

               <ImageView fitHeight="31.0" fitWidth="40.0" pickOnBounds="true" preserveRatio="true" >
                   <image>
                       <Image url="img/image.png"></Image>
                   </image>
               </ImageView>

正しい構文:

               <ImageView fitHeight="31.0" fitWidth="40.0" pickOnBounds="true" preserveRatio="true" >
                   <image>
                       <Image url="@/img/1000px-evobus.svg1.png"></Image>
                   </image>
               </ImageView>
1
Thonse

NetBeansで[ツール]に移動します。オプション; Java; JavaFXを使用し、Scene Builder Homeへのパスを設定します。これで問題は解決するはずです

0
venkat