这是一个简单的Javafx程序代码,意图在前面有一个图标 树视图的每个节点。我面临的问题,我得到的图标太大了。如何调整大小以使所有节点具有相同的图标?
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeView;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
@FXML
TreeView<String> treeview;
@FXML
Image icon = new Image(getClass().getResourceAsStream("/image/folder.png"));
@SuppressWarnings("unchecked")
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
TreeItem<String> root = new TreeItem<>("root", new ImageView(icon));
TreeItem<String> nodeA = new TreeItem<>("Node A", new ImageView(icon));
TreeItem<String> nodeB = new TreeItem<>("Node B", new ImageView(icon));
TreeItem<String> nodeC = new TreeItem<>("Node C", new ImageView(icon));
TreeItem<String> nodeD = new TreeItem<>("Node D", new ImageView(icon));
TreeItem<String> nodeA1 = new TreeItem<>("A1", new ImageView(icon));
TreeItem<String> nodeA2 = new TreeItem<>("A2", new ImageView(icon));
TreeItem<String> nodeB1 = new TreeItem<>("B1", new ImageView(icon));
TreeItem<String> nodeB2 = new TreeItem<>("B2", new ImageView(icon));
TreeItem<String> nodeC1 = new TreeItem<>("C1", new ImageView(icon));
TreeItem<String> nodeD1 = new TreeItem<>("D1", new ImageView(icon));
treeview.setRoot(root);
root.getChildren().addAll(nodeA, nodeB, nodeC, nodeD);
nodeA.getChildren().addAll(nodeA1, nodeA2);
nodeB.getChildren().addAll(nodeB1, nodeB2);
nodeC.getChildren().addAll(nodeC1);
nodeD.getChildren().addAll(nodeD1);``
}
答案 0 :(得分:0)
除了评论:
~~&gt;您可以在不调整实际文件图像大小的情况下调整图像大小:
// resizes the image to have width and height of 100 while preserving the ratio and using
// higher quality filtering method; this ImageView is also cached to
// improve performance
ImageView iv2 =newImageView(); iv2.setImage(image);
iv2.setFitHeight(100); iv2.setFitWidth(100); iv2.setPreserveRatio(true); iv2.setSmooth(true); iv2.setCache(true);
~~&gt;另一种更好的方法是直接添加ImageView SceneBuilder进入fxml:
答案 1 :(得分:0)
您可以这样做:
ImageView img=new ImageView(icon);
img.setFitHeight(20);
img.setFitWidth(20);
TreeItem<String> root= new TreeItem<>("Root",img);