0
をこんにちは、私は、洪水がのJavaを使用してシェイプを含むペインに埋めるだろう関数を作成することになっています。それはちょうどMSPaintのように振る舞うはずです、私は後で長方形の線や他の図形を移動する必要はありません。私はペインをイメージに変換してピクセルで作業してから、すべてのペインズの子供をクリアしてイメージとして挿入することを考えていましたが、動作させることはできません。 コード例:洪水は、javaペインを使用して埋める - JAVA
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Line;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
public class Paint extends Application {
public static void main(String[] args) {
launch(args);
}
private Pane pane;
@Override
public void start(Stage primaryStage) {
pane= new Pane();
primaryStage.setTitle("Fill");
Scene scene = new Scene(pane,500,600);
primaryStage.setScene(scene);
primaryStage.show();
pane.setOnMousePressed((e)->{
doFill(e.getX(),e.getY());
});
//RECT 1
Rectangle rect1=new Rectangle(1,100,200,300);
rect1.setStroke(Color.BLACK);
rect1.setStrokeWidth(2);
rect1.setFill(Color.WHITE);
//RECT 2
Rectangle rect2=new Rectangle(50,150,200,400);
rect2.setStroke(Color.BLACK);
rect2.setStrokeWidth(2);
rect2.setFill(Color.WHITE);
//LINE
Line line=new Line(0,0,200,550);
rect2.setStroke(Color.BLACK);
rect2.setStrokeWidth(2);
pane.getChildren().addAll(rect1,rect2,line);
}
private void doFill(double eventX, double eventY){
//**TODO**
}
}
dofill?それはすべてですか?あなた自身を発揮しないでください – gpasch
私は、編集者が編集してペインに追加できる画像にキャンバスを変換する機能を教えてくれることを少なくとも望んでいました。 何かを学ぼうとする人に怒らせる必要はありません... – Therian
この質問は、似ています:[javafxの任意の図形の "塗りつぶし"関数はありますか?](http://stackoverflow.com/questions/23983465/is-there-a-fill-function-for-任意) -shapes-in-javafx)このような任意の塗りつぶしは、シーングラフなどのベクトルベースのシステムよりもCanvasなどのビットマップベースのシステムとより密接に関連していることに注意してください(これは転送の追加問題がある理由の一部です塗りつぶした領域をシーングラフノードに貼り付けます。これについては、ソリューションについてのアドバイスはありません)。 – jewelsea