【发布时间】:2015-07-06 12:57:51
【问题描述】:
我是 JavaFX 新手,在调整画布大小时遇到了问题。 我试图让画布大小完全适合我放入其中的内容。 输出应该是唯一的片段 5/7,但我在绘制的数字旁边有很多空白。 我尝试使用 setWidth 调整画布大小,甚至从一开始就将画布设置为小尺寸,但似乎没有任何帮助。
这是我的代码:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.layout.HBox;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
public class Example extends Application {
Font fontLarge = Font.font("Droid Sans", FontWeight.BOLD, 15);
@Override
public void start(Stage stage) {
HBox root = new HBox();
Scene scene = new Scene(root);
root.getChildren().add(getCanvasOfRationalNumber("5", "7"));
scene.setRoot(root);
stage.setScene(scene);
stage.show();
}
public Canvas getCanvasOfRationalNumber(String num, String denom) {
final Canvas rnCanvas = new Canvas(300, 55);
GraphicsContext gc = rnCanvas.getGraphicsContext2D();
gc.setFont(fontLarge);
gc.fillText(num, 0, 15);
gc.fillText("___", 0, 20);
gc.fillText(denom, 0, 40);
rnCanvas.setWidth(15);
return rnCanvas;
}
public static void main(String[] args) {
launch(args);
}
}
【问题讨论】:
标签: java canvas javafx javafx-2 javafx-8