我创建一个没有参数的泛型方法,有些东西像:
private <T> TableCell<T> createTableCell(){
return new TableCell<T>();
}
Run Code Online (Sandbox Code Playgroud)
那么,在我的程序中,如何为具体类型调用此方法?
我正在使用NetBeans 7.0.1 创建JavaFX 2.0应用程序.当我以标准方式创建项目时,一切正常.不幸的是;)我需要Maven项目......
我没有在Maven存储库中找到JavaFX 2.0,所以我的pom.xml现在看起来像这样:
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>mygroup</groupId>
<artifactId>ui</artifactId>
<version>0.1</version>
<name>My Project</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>javafx</groupId>
<artifactId>jfxrt</artifactId>
<version>2.0</version>
<type>jar</type>
<scope>system</scope>
<systemPath>${env.JAVAFX_HOME}\lib\jfxrt.jar</systemPath>
</dependency>
</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)
设置JAVAFX_HOME系统变量:
C:\Users\rach>echo %JAVAFX_HOME%
C:\Program Files\Oracle\JavaFX Runtime 2.0\
Run Code Online (Sandbox Code Playgroud)
编译没问题,但是当我在NetBeans下启动程序时出现错误:
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/application/Application at java.lang.ClassLoader.defineClass1(Native Method)
Run Code Online (Sandbox Code Playgroud)
但是jfxrt.jar在classpath中:
C:\>echo %CLASSPATH%
C:\Program Files\Oracle\JavaFX Runtime 2.0\lib\jfxrt.jar
Run Code Online (Sandbox Code Playgroud)
当我从命令行启动我的应用程序时它工作正常.
当我在运行时在本地存储库中安装jfxrt.jar时,应用程序仍然无法启动,因为它找不到C:\ Program Files\Oracle\JavaFX Runtime 2.0\bin\mat.dll.pom.xml中:
<dependency>
<groupId>javafx</groupId>
<artifactId>jfxrt</artifactId>
<version>2.0</version>
<type>jar</type>
</dependency>
Run Code Online (Sandbox Code Playgroud)
影响:
Exception in thread "main" java.lang.RuntimeException: …
Run Code Online (Sandbox Code Playgroud) 我在JavaFX 2.1中面临TableView的问题.我想根据数据禁用TableRow.
例如:
public class RowData() {
private String name;
private boolean used;
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
public boolean isUsed(){
return this.used;
}
public void setUsed(boolean used) {
this.used = used;
}
}
Run Code Online (Sandbox Code Playgroud)
在计划中:
public class ViewController implements Initializable {
@FXML
private TableView<RowData> tableAttribute;
public void initialize(URL location, ResourceBundle resources) {
List<RowData> data = new ArrayList<RowData>();
// datatype col
TableColumn<DataRow, String> attNameCol = new TableColumn<DataRow, DataRow>(
"Name");
attNameCol
.setCellValueFactory(new PropertyValueFactory<DataRow, …
Run Code Online (Sandbox Code Playgroud) 我的同事问我一个我自己找不到最终答案的问题,问题是关于对象投射.
假设我有一个A类和一个Factory类,在工厂类中,我想创建一个A实例:
Public class Factory {
public A createA1() {
Object instance = get_A_Object();
//Single casting
return (A) instance;
}
public A createA2() {
Object instance = get_A_Object();
// Duplicate casting or more
return (A) (A) instance;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:
方法createA1()中的单个转换与方法createA2()中的重复转换有什么不同?他们总是得到相同的结果吗?
编辑:
为了澄清,我的同事问我这行代码:
org.omg.CORBA_2_5.ORB orb = ((org.omg.CORBA_2_5.ORB)org.omg.CORBA.ORB.init((String[])localObject2, localProperties));
return (org.omg.CORBA_2_5.ORB)(org.omg.CORBA_2_5.ORB)(org.omg.CORBA_2_5.ORB)(org.omg.CO??RBA_2_5.ORB)(orb);
Run Code Online (Sandbox Code Playgroud)