import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.scene.shape.Line;
import javafx.stage.Stage;
public class LinesTest extends Application {
@Override
public void start(Stage stage) throws Exception {
final AnchorPane root = new AnchorPane();
final Line line1 = new Line(20, 10, 300, 10);
final Line line2 = new Line(250, 10, 400, 10);
root.getChildren().addAll(line1, line2);
stage.setTitle("Lines Test");
stage.setScene(new Scene(root, 500, 500));
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}如果您运行上面的代码,您可以提到两行重叠会产生另一种颜色。有可能阻止这种行为吗?
发布于 2013-11-10 13:41:08
你可以用两种方式来防止它:
1)使用setSnapToPixel
final AnchorPane root = new AnchorPane();
root.setSnapToPixel(true);或者,将行的startY和endY值定义为一半:
final Line line1 = new Line(20, 10.5, 300, 10.5);
final Line line2 = new Line(250, 10.5, 400, 10.5);关于这些细节的技术细节,我将留给珠宝海的伟大答案:
https://stackoverflow.com/questions/19888224
复制相似问题