只有一个文件的javafx写绘画程序
时间: 2023-09-27 13:05:36 浏览: 32
好的,我可以为您提供一个简单的JavaFX绘画程序示例代码。您可以将其保存为一个单独的.java文件并运行它。
```java
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.ColorPicker;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class SimplePaint extends Application {
private Color selectedColor = Color.BLACK;
private double brushSize = 5;
@Override
public void start(Stage primaryStage) {
Canvas canvas = new Canvas(400, 400);
GraphicsContext gc = canvas.getGraphicsContext2D();
gc.setFill(Color.WHITE);
gc.fillRect(0, 0, canvas.getWidth(), canvas.getHeight());
canvas.setOnMousePressed(e -> {
gc.beginPath();
gc.lineTo(e.getX(), e.getY());
gc.setStroke(selectedColor);
gc.setLineWidth(brushSize);
gc.stroke();
});
canvas.setOnMouseDragged(e -> {
gc.lineTo(e.getX(), e.getY());
gc.setStroke(selectedColor);
gc.setLineWidth(brushSize);
gc.stroke();
});
ColorPicker colorPicker = new ColorPicker();
colorPicker.setOnAction(e -> {
selectedColor = colorPicker.getValue();
});
BorderPane root = new BorderPane(canvas);
root.setTop(colorPicker);
Scene scene = new Scene(root, 400, 450);
primaryStage.setScene(scene);
primaryStage.setTitle("Simple Paint");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
这段代码创建了一个带有画布和颜色选择器的窗口。当鼠标按下并拖动时,程序会在画布上绘制一条线,并根据选择器中的颜色和画笔大小来绘制线条。
如果您想添加更多功能,如选择不同的画笔形状和橡皮擦,请在代码中进行修改。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)