Easier way to make a paint application in java?

前端 未结 3 1466
无人及你
无人及你 2020-12-16 09:02

So basically I have some code I was working on a couple of days ago that is kind of like Paint, which allows you to essentially draw on the screen using the mouse. I kind of

3条回答
  •  醉话见心
    2020-12-16 09:30

    This is a simple example for a practical paint Application, where you can control and change the size and the Color of your drawing.

    public class Main extends Application{
        @Override
        public void start(Stage stage){
            try{
                g = can.getGraphicsContext2D();
                g.setStroke(Color.BLACK);
                g.setLineWidth(1);
                c.setValue(Color.BLACK);
                c.setOnAction(e->{
                    g.setStroke(c.getValue());
                });
                sli.setMin(1);
                sli.setMax(100);
                sli.setShowTickLabels(true);
                sli.setShowTickMarks(true);
                sli.valueProperty().addListener(e->{
                    double val = sli.getValue();
                    String str = String.format("%.1f",  val);
                    lab.setText(str);
                    g.setLineWidth(val);
                });
                gri.addRow(0,  c, sli, lab);
                gri.setHgap(20);
                gri.setAlignement(Pos.TOP_CENTER);
                gri.setPadding( new Insets( 20, 0, 0, 0));
    
                scene.setOnMousePressed(e->{.
                   g.beginPath();
                   g.lineTo(e.getSceneX(), e.getSceneY());
                   g.stroke();
                });
                scene.setOnMoudrDragged(e->{. 
                    g.lineTo(e.getSceneX(),  e.getSceneY());
                    g.stroke();
                });
                pan.getChildren().addAll(can, gri);
                stage.setScene(scene);
                stage.show();
            }catch(Exception e){
    
                e.printStrackTrace();
            }
    
           Canvas can = new Canvas(760, 490);
           GraphicsContext  g ;
           ColorPicker  c =  new ColorPicker();
           Slider sli = new Slider();
           Label lab = new Label("1.0");
           GridPane gri = new GridPane();
           StackPane pan =  new StackPane();
           Scene  scene = new Scene(pan, 760, 490);
       public static void main (String [] args){
           launch(args);
       }
    }
    

提交回复
热议问题