小编Ash*_*oli的帖子

System.getProperty("java.io.tmpdir")何时返回"c:\ temp"

只是好奇什么时候System.getProperty("java.io.tmpdir")回来"c:\temp".根据java.io.File Java Docs -

缺省临时文件目录由系统属性java.io.tmpdir指定.在UNIX系统上,此属性的默认值通常为"/ tmp"或"/ var/tmp"; 在Microsoft Windows系统上,它通常是"c:\ temp".调用Java虚拟机时,可以为此系统属性提供不同的值,但不保证对此属性的编程更改会对此方法使用的临时目录产生任何影响.

但就我而言 -

System.out.println(System.getProperty("java.io.tmpdir"));
Run Code Online (Sandbox Code Playgroud)

永远返回 -

C:\Users\admin\AppData\Local\Temp\ i.e. %TEMP%
Run Code Online (Sandbox Code Playgroud)

它会在什么条件下返回"c:\temp"

编辑:如果我将%TEMP%更改为C:\ Temp然后我会得到C:\ Temp,对吧?但文档显示c:\ Temp而不是C:\ Temp.

java windows tempdir

104
推荐指数
3
解决办法
23万
查看次数

JavaFX完全取代了Swing吗?

我有一个Java桌面应用程序,其中图形用户界面设计了摆动.在我们了解到JavaFX replacing Swing我们已经用JavaFX替换了图形用户界面之后.

"6. JavaFX是否将Swing替换为Java SE的新客户端UI库?是的.但是,在可预见的未来,Swing将仍然是Java SE规范的一部分,并且包含在JRE中.一方面,Swing被广泛使用在现有的Java桌面应用程序中,但依赖于旧架构,这需要一定程度的专业知识和专业化.另一方面,JavaFX具有一组现代UI控件,可以使用标准CSS技术进行换肤.虽然我们建议开发人员使用在构建新应用程序时尽可能地利用JavaFX API,可以在同一个应用程序中使用Swing和JavaFX,从而允许开发人员扩展现有的Swing应用程序."

现在我们听说Oracle将JavaFX工具包捐赠给开源社区,OpenJDK社区同意接受它.

JavaFX工具包是从Sun的F3项目发展而来的.初始版本基于JavaFX脚本语言,但是,在2011年,该工具包完全用Java重写,并由Oracle作为JavaFX 2.0发布.2011年10月,Oracle宣布将向开源社区捐赠JavaFX工具包,到2011年11月,OpenJDK社区已同意接受它.

我不认为JavaFX是稳定的.它没有快速支持.文件说明不够.当舞台关闭时,它不会释放内部存储器.我的应用程序是多线程应用程序,我的应用程序大部分时间都在更新每个单独线程的状态.本机包中的自包含JRE副本不可靠,我们必须将其替换为驻留在JDK中的JRE文件夹.

这真是令人沮丧,我想知道,如果JavaFX适合开发Java Desktop应用程序.

java swing javafx-2

19
推荐指数
2
解决办法
1万
查看次数

如何在JavaFX表鼠标悬停的每个单元格上设置工具提示?

我是新来的JavaFX.我创建了TableView,看起来像附加的图像.鼠标悬停时,我想在桌子的每个单元格上显示工具提示.我已经设置了两个Cell Factory用于在第一列和第二列中显示复选框和图像的渲染.因此,显示工具提示不得影响这两个渲染列.有没有办法在鼠标悬停时在桌子的每个单元格上显示工具提示,这不应该影响其他单个列单元格渲染.

在此输入图像描述

java render tooltip cell javafx-2

13
推荐指数
3
解决办法
8512
查看次数

将`Java.lang.String`转换为`oracle.sql.TIMESTAMPTZ`

我有以下Java.lang.String代表String值的值TIMESTAMPTZ.我需要转换这些Java.lang.String TO oracle.sql.TIMESTAMPTZ.

"2016-04-19 17:34:43.781 Asia/Calcutta",
"2016-04-30 20:05:02.002 8:00",
"2003-11-11 00:22:15.0 -7:00",
"2003-01-01 02:00:00.0 -7:00",
"2007-06-08 15:01:12.288 Asia/Bahrain",
"2016-03-08 17:17:35.301 Asia/Calcutta",
"1994-11-24 11:57:17.303"
Run Code Online (Sandbox Code Playgroud)

我试过很多方面.

样本1:

通过使用尝试 SimpleDateFormat

String[] timeZoneValues = new String[]{"2016-04-19 17:34:43.781 Asia/Calcutta", "2016-04-30 20:05:02.002 8:00", "2003-11-11 00:22:15.0 -7:00", "2003-01-01 02:00:00.0 -7:00", "2007-06-08 15:01:12.288 Asia/Bahrain", "2016-03-08 17:17:35.301 Asia/Calcutta", "1994-11-24 11:57:17.303"};
        for(String timeZoneValue: timeZoneValues){
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS XXX");
            try {
                simpleDateFormat.parse(timeZoneValue);
            } catch (ParseException e) {
                e.printStackTrace();
            }
        } …
Run Code Online (Sandbox Code Playgroud)

java timezone oracle11g simpledateformat timestamp-with-timezone

11
推荐指数
1
解决办法
1027
查看次数

无法将列宽设置为零,即不使列不可见

我试图创建一个列JTable,通过将宽度设置为零而不可见,但它不会发生,并且它仍然可见宽度= 15.这是代码 -

public void restoreColumnWithWidth(int column, int width) {
        try {
            TableColumn tableColumn = table.getColumnModel().getColumn(column);
            table.getTableHeader().setResizingColumn(tableColumn);
            tableColumn.setWidth(width);
            tableColumn.setMaxWidth(width);
            tableColumn.setMinWidth(width);
            tableColumn.setPreferredWidth(width);
        } catch (Exception ex) {
        }
    }
Run Code Online (Sandbox Code Playgroud)

代码有什么问题?

java swing jtable tablecolumn

8
推荐指数
1
解决办法
5164
查看次数

javafx表中的自动行编号

我有一个示例代码,我们用它来Java Swing表格中的动态行号JTable.我是新手JavaFX,也想和他一样JavaFX.是否有任何方法可以在JavaFX表中设置自动行号

 class LineNumberTable extends JTable {

            private JTable mainTable;

            public LineNumberTable(JTable table) {
                super();
                mainTable = table;
                setAutoCreateColumnsFromModel(false);
                setModel(mainTable.getModel());
                setAutoscrolls(false);
                addColumn(new TableColumn());
                getColumnModel().getColumn(0).setCellRenderer(mainTable.getTableHeader().getDefaultRenderer());
                getColumnModel().getColumn(0).setPreferredWidth(40);
                setPreferredScrollableViewportSize(getPreferredSize());

            }

            @Override
            public boolean isCellEditable(int row, int col) {
                if (col == uneditableColumn) {
                    return false;
                }
                return bEdit;
            }

            @Override
            public Object getValueAt(int row, int column) {
                return Integer.valueOf(row + 1);
            }

            @Override
            public int getRowHeight(int row) {
                return mainTable.getRowHeight();
            }
        }
Run Code Online (Sandbox Code Playgroud)

java swing javafx-2

8
推荐指数
1
解决办法
3394
查看次数

了解 SSL 信任策略

我想了解什么TrustStrategy是采用该方法loadTrustMaterial

 public SSLContextBuilder loadTrustMaterial(KeyStore truststore,
                                  TrustStrategy trustStrategy)
                                    throws NoSuchAlgorithmException,
                                           KeyStoreException
Run Code Online (Sandbox Code Playgroud)

我发现了四个不同的例子,我很想知道这四个之间的区别,因为描述太少,无法理解差异/用途/优点/缺点。

以下是四个不同的代码示例:

TrustStrategy:这看起来就像我们在这里覆盖了标准的 JSSE 证书验证过程,但它总是返回 true,所以它也信任无效证书吗?

TrustStrategy trustStrategy = new TrustStrategy() {
    @Override
    public boolean isTrusted(X509Certificate[] x509Certificates, String authType) throws CertificateException {
        return true;
    }
    };
SSLContextBuilder sslContextBuilder = SSLContexts.custom()
    .loadTrustMaterial(trustStore, trustStrategy);
Run Code Online (Sandbox Code Playgroud)

NULL:我们没有给出任何策略,那么它会做什么?

SSLContextBuilder sslContextBuilder = SSLContexts.custom()
                            .loadTrustMaterial(trustStore, null);
Run Code Online (Sandbox Code Playgroud)

TrustAllStrategy:它会信任所有签名的证书,所以安全吗?

SSLContextBuilder sslContextBuilder = SSLContexts.custom()
                            .loadTrustMaterial(trustStore, new TrustAllStrategy());
Run Code Online (Sandbox Code Playgroud)

TrustSelfSignedStrategy:这和 TrustAllStrategy 有什么区别?

SSLContextBuilder sslContextBuilder = SSLContexts.custom()
                            .loadTrustMaterial(trustStore, new TrustSelfSignedStrategy());
Run Code Online (Sandbox Code Playgroud)

请帮我理解这四个版本的例子之间的区别,好吗?提前致谢。

java ssl ssl-certificate truststore

7
推荐指数
1
解决办法
3653
查看次数

我可以从AWS IAM用户隐藏某些托管区域吗?

我是否可以限制我的AWS IAM用户仅列出我希望他们使用AWS IAM策略查看的选定托管区域?

假设我有三个托管区域A,B和C,我想从我的AWS IAM用户隐藏A. 我在这项政策中需要做些什么改变 -

{
"Statement":[{
"Effect":"Allow",
"Action":["route53:GetHostedZone",
"route53:ListResourceRecordSets"],
"Resource":"arn:aws:route53::123456789012:change/*"
},
{
"Effect":"Allow",
"Action":,
"Resource":"*"
}
]
} 
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-iam amazon-route53

6
推荐指数
1
解决办法
1022
查看次数

使用ANT编译JavaFX代码

我在我的系统上安装了以下 -

 Java version "1.7.0_09"
 JavaFX 2.0 SDK 
 NetBeans 7.2.1
Run Code Online (Sandbox Code Playgroud)

当我尝试使用ANT编译代码时,它向我显示错误消息 -

Could not load definitions from resource com/sun/javafx/tools/ant/antlib.xml. It could not be found. 
Run Code Online (Sandbox Code Playgroud)

Build.XML包含

<project name="XYZ"  default="XYZ" basedir="XYZ" xmlns:fx="javafx:com.sun.javafx.tools.ant">
    <description>
        simple example build file
    </description>

  <!-- set global properties for this build -->
    <property name="srcXYZGenerator" location="src/XYZGenerator"/>


    <property name="classpath" location="lib/XYZLib.jar;lib/ABC.jar;lib/IJK.jar;"/>


    <target name="init">
        <!-- Create the time stamp -->
        <tstamp/>
        <!-- Create the build directory structure used by compile -->
        <mkdir dir="${buildXYZ}"/>  

    </target> 

    <target name="XYZ" depends="init">
    <!-- Compile the java code …
Run Code Online (Sandbox Code Playgroud)

java ant compilation build javafx-2

6
推荐指数
1
解决办法
1万
查看次数

在多线程环境中执行SELECT Query时,Sybase抛出异常"已有另一个名为XXX的游标"

我使用ApacheMetaModelExtract从数据Sybase ASE 15.5 的数据库,Windows 7的计算机上安装.我是在多线程环境中将数据提取到CSV中.我使用这些开源库

        <dependency>
            <groupId>com.sybase</groupId>
            <artifactId>jconn4</artifactId>
            <version>4.0</version>
        </dependency>
        <dependency>
            <groupId>com.sybase</groupId>
            <artifactId>DDLGen</artifactId>
            <version>4.0</version>
        </dependency>
        <dependency>
            <groupId>com.sybase</groupId>
            <artifactId>dsparser</artifactId>
            <version>4.0</version>
        </dependency>
Run Code Online (Sandbox Code Playgroud)

我在尝试执行SELECT查询时收到错误.它不会为任何特定查询抛出异常.它可以为任何表抛出异常.我正在尝试使用创建查询Apache Meta-model DataContext.

Query query = dataContext.query().from(table).as("ct").selectAll().toQuery();
dataContext.executeQuery(query).iterator();
Run Code Online (Sandbox Code Playgroud)

上面的代码将创建如下查询:

SELECT ct."Column1", ct."Column2", ct."Column3", ct."Column4", ct."Column5", ct."Column6", ct."Column7", ct."Column8", ct."Column9", ct."id" FROM schemaowner."tablename" ct
Run Code Online (Sandbox Code Playgroud)

以下是堆栈跟踪:

! com.sybase.jdbc4.jdbc.SybSQLException: There is already another cursor with the name 'jconnect_implicit_134' at the nesting level '0'.

! 

! at com.sybase.jdbc4.tds.Tds.processEed(Tds.java:4117) ~[jconn4-4.0.jar:JDK 1.6/jdbcmain/Thu Apr 30 04:18:00 PDT 2015]

! at …
Run Code Online (Sandbox Code Playgroud)

java jconnect cursor sybase-ase apache-metamodel

6
推荐指数
0
解决办法
527
查看次数