なぜのjavacコンパイラはjavafx.collectionsを見つけることができませんが、私はそれを使用していますか?

h34dsp1nns:

ここに私のコードの関連部分です

package ReadWriteDisplayTriangles;

import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Polygon;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.collections;

class TrianglePane extends Pane{

    private RecordTable recordTable;

    //other code

    public void setToRecordTable() {
        ObservableList<Node> list = getChildren();
        int size = list.size();
        recordTable.setNewRecordArray(size);
        for(int i = 0; i < size; i++) {
            if(Debug.isDebug5() == true) {System.out.println("Observable list " + i + " is " + list.get(i)); }
        }
    }
}

ここでのjavac -verboseからの出力です

[search path for class files: C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\resources.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\rt.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\sunrsasign.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\jsse.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\jce.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\charsets.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\jfr.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\classes,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\access-bridge-32.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\cldrdata.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\dnsns.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\jaccess.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\jfxrt.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\localedata.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\nashorn.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\sunec.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\sunjce_provider.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\sunmscapi.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\sunpkcs11.jar,C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\zipfs.jar,.]
[loading ZipFileIndexFileObject[C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\jfxrt.jar(javafx/scene/layout/Pane.class)]]
[loading ZipFileIndexFileObject[C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\jfxrt.jar(javafx/scene/paint/Color.class)]]
[loading ZipFileIndexFileObject[C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\jfxrt.jar(javafx/scene/shape/Polygon.class)]]
[loading ZipFileIndexFileObject[C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\jfxrt.jar(javafx/event/ActionEvent.class)]]
[loading ZipFileIndexFileObject[C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\jfxrt.jar(javafx/event/EventHandler.class)]]
TrianglePane.java:9: error: cannot find symbol
import javafx.collections;
             ^
  symbol:   class collections
  location: package javafx
[loading ZipFileIndexFileObject[C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\jfxrt.jar(javafx/scene/layout/Region.class)]]
[loading ZipFileIndexFileObject[C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\jfxrt.jar(javafx/scene/Parent.class)]]
[loading ZipFileIndexFileObject[C:\Program Files (x86)\Java\jdk1.8.0_241\jre\lib\ext\jfxrt.jar(javafx/scene/Node.class)]]

少し質問があります。

  1. TrianglePaneは、ペインを拡張します。ドキュメントにjavafx.scene.layout.Pane、それはObservableListを返す()メソッドGetChildrenメソッドとして示します。それが拡張するクラスはメソッドを持っているので戻り、観察リストは、なぜ私は、すべての輸入javafx.collectionsに持っていないということ?
  2. GetChildrenメソッド()。(...)を追加それは、何とか右観察可能なリストにアクセスする必要がありますので、これと同じコードの他の部分で動作しますか?
  3. なぜjavafx.collectionsが輸入されていませんか?私はJavaFXのから他のすべてをインポートすることができます。
  4. 私は私のコンパイラ、ライブラリを修正するために行うことができ、または何が、この観測可能なリストのための参照を利用できるようにするには?

私はjdk1.8.0_241を使用しています

任意の入力のためのおかげで、私はコーディングや爆風を有することに新たなんです。

Eng.Fouad:

完全なパッケージをインポートするには、使用する必要があります*

import javafx.collections.*;

また、その名前でクラスをインポートします。

import javafx.collections.ObservableList;

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=280285&siteId=1