【发布时间】:2017-03-26 22:04:21
【问题描述】:
public class Field extends Pane{
private Image figure;
public Field(Image img){
super();
setFigure(img);
ImageView imgView = new ImageView(img);
imgView.resize(100, 100);
this.getChildren().add(imgView);
}
public Image getFigure() {
return figure;
}
public void setFigure(Image figure) {
this.figure = figure;
}
}
和控制器部分:
public class ExampleController implements Initializable{
@FXML
private GridPane fields;
private Imgs imgs = new Imgs();
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
initializeBackgroundPools();
fields.add(new Field (imgs.getBlackRook()), 0, 0);
}
private void initializeBackgroundPools(){
for (int i=0;i<8;i++)
for (int j=0;j<8;j++){
Rectangle r = new Rectangle();
r.setX(0);
r.setY(0);
r.setWidth(100);
r.setHeight(100);
if ((i%2==0 && j%2==0) || (i%2==1 && j%2==1)) r.getStyleClass().add("rectangle-white");
else r.getStyleClass().add("rectangle-black");
fields.add(r, i, j);
}
}
}
它适用于矩形,但这个窗格不适用,我不知道为什么? :) (我也在尝试使用空白背景但没有结果) 图像在另一个图像类 (Imgs) 中加载,加载它们没有错误。 任何人都可以帮助我吗? 谢谢:)
@特拉维斯F
public class Imgs {
private Image blackRook = new Image("file:../../../grafiki/figures/blackRook.png");
private Image blackKing = new Image("file:../../../grafiki/figures/blackKing.png");
private Image blackKnight = new Image("file:../../../grafiki/figures/blackKnight.png");
private Image blackBishop = new Image("file:../../../grafiki/figures/blackBishop.png");
private Image blackQueen = new Image("file:../../../grafiki/figures/blackQueen.png");
private Image blackPawn = new Image("file:../../../grafiki/figures/blackPawn.png");
private Image whiteRook = new Image("file:../../../grafiki/figures/whiteRook.png");
private Image whiteKing = new Image("file:../../../grafiki/figures/whiteKing.png");
private Image whiteKnight = new Image("file:../../../grafiki/figures/whiteKnight.png");
private Image whiteBishop = new Image("file:../../../grafiki/figures/whiteBishop.png");
private Image whiteQueen = new Image("file:../../../grafiki/figures/whiteQueen.png");
private Image whitePawn = new Image("file:../../../grafiki/figures/whitePawn.png");
public Imgs(){
}
public Image getBlackRook() {
return blackRook;
}
public void setBlackRook(Image blackRook) {
this.blackRook = blackRook;
}
/**
*other settters/getters
*/
}
【问题讨论】:
-
你能显示
imgs.getBlackRook())的代码吗?
标签: java image javafx model controller