package me.mycontroller
import javafx.fxml.FXML
import java.util.ResourceBundle
import java.net.URL
import javafx.scene.image.ImageView
/**
* @author me
*/
class InvoiceController {
@FXML
private var resources: ResourceBundle = null
@FXML
private var location: URL = null
@FXML
private var imageBox2: ImageView = null
@FXML
def initialize() {
if(imageBox2==null) { throw new IllegalArgumentException("imageBox was null")}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.collections.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.image.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="286.0" prefWidth="512.0" xmlns:fx="http://javafx.com/fxml" fx:controller="me.mycontroller.InvoiceController">
<children>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="435.0" spacing="10.0" AnchorPane.bottomAnchor="58.0" AnchorPane.leftAnchor="38.5" AnchorPane.rightAnchor="38.5" AnchorPane.topAnchor="128.0">
<children>
<Label text="Invoice File" />
<TextField fx:id="fileField" prefWidth="200.0" />
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="400.5" spacing="10.0" AnchorPane.bottomAnchor="-7.0" AnchorPane.leftAnchor="52.5" AnchorPane.rightAnchor="59.0" AnchorPane.topAnchor="193.0">
<children>
<AnchorPane prefHeight="100.0" prefWidth="376.0">
<children>
<AnchorPane layoutX="16.0" layoutY="0.0" prefHeight="100.0" prefWidth="294.0">
<children>
<Label layoutY="42.0" prefWidth="65.0" text="Supplier" AnchorPane.leftAnchor="25.0" />
<ChoiceBox fx:id="supplierDropDown" layoutY="40.0" prefWidth="200.0" AnchorPane.rightAnchor="5.0">
<items>
<FXCollections fx:factory="observableArrayList">
<String fx:value="Item 1" />
<String fx:value="Item 2" />
<String fx:value="Item 3" />
</FXCollections>
</items>
</ChoiceBox>
</children>
</AnchorPane>
</children>
</AnchorPane>
</children>
</HBox>
<ImageView fx:id="imageBox2" fitHeight="105.99999961206467" fitWidth="141.3333282470703" layoutX="53.0" layoutY="22.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../images/Regional.jpeg" />
</image>
</ImageView>
</children>
</AnchorPane>
父根=fxmlloader.load(getClass().getResource(“/fxml/invoice.fxml”));
我得到一个异常,因为imagebox2
为null。知道为什么没有注射吗?
src/ main/ Main.java MainLayoutController.java main_layout.fxml ...
MainLayoutController.java:
public class MainLayoutController {
@FXML
private ImageView previewImage;
void setImage(Image img) {
previewImage.setImage(img);
}
}
main_layout.fxml:
<VBox ... fx:controller="main.MainLayoutController">
<children>
...
<ImageView fx:id="previewImage" ... />
</children>
</VBox>
public class Main extends Application {
private MainLayoutController mainLayoutController;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
FXMLLoader fxmlLoader = new FXMLLoader();
Parent root = fxmlLoader.load(
getClass().getResource("main_layout.fxml").openStream());
primaryStage.setScene(new Scene(root));
primaryStage.show();
mainLayoutController = fxmlLoader.getController();
mainLayoutController.setImage(...);
}
...
}
问题内容: 我发现不方便之处在于番石榴中的前提条件没有标注注释。考虑以下示例: 因此IDE找不到总是错误的。是否有任何特殊原因为什么不标记此前提条件(即使其参数是使用定义的)。 问题答案: 很抱歉,我们没有在任何地方使用过。为什么?我们尝试添加更多的空检查注释,发现: 添加所有其他注释非常冗长。 这就是我们所需要的。诚然,对于Guava开发人员而言,这比Guava用户更为重要。 似乎遇到了大多数问
问题内容: 我发现注释在重写派生类中的某些超类方法时非常有帮助。基本上,编译器会尽早发现程序中的缺陷,这总是一件好事。但是,为什么Java中没有@Implements批注? 问题答案: 因为您也使用接口定义的方法。 (是的,您是“实现”而不是“覆盖” …但同时用于两者)
问题内容: 好的,我知道三引号字符串可以用作多行注释。例如, 和 但是从技术上讲,这些是字符串,对吗? 我已经在Google上搜索并阅读了Python样式指南,但无法找到关于为什么没有正式实现多行,/ * * /注释类型的技术答案。我使用三重引号没有问题,但是对于导致这个设计决定的原因我有点好奇。 问题答案: 我怀疑您会得到比“ Guido不需要多行注释”更好的答案。 Guido在推特上发布了以下
我有一个灰色的抽屉。无论何时用户喜欢一张图片,这可绘制的,但应在颜色黑色(阿尔法的可绘制需要停留)。 我正在这样做:
代码段 我使用redis-cli工具检查了密钥的可用性 钥匙* 而且 ttl密钥名 redis.conf具有默认值。 有什么建议吗? 编辑1: 完整代码: 功能在一个方面 当这些线路运行时 RedisAtomicInteger计数器=计数器=新RedisAtomicInteger(“MyKey”);Counter.Expire(1,TimeUnit.Minutes); 我能看见 在Redis日志中
问题内容: 我正在尝试做这样的事情: 不幸的是,即使在Java 9中也不存在。 为什么它被遗漏了? 建议的解决方法是什么? 问题答案: 为什么它被遗漏了? 该API提供了可重用的构建块。这里的相关积木是,,。通过这些,您可以实现所需的功能:将流内映射到对象,然后获得平面图。提供构建基块的排列是不切实际的,并且很难扩展。 建议的解决方法是什么? 如前所述,使用可用的构建基块(+ ):