小编Bob*_*ous的帖子

JavaFX 创建的警报对话框太小

我在 Linux 中的 Java 11 上使用 JavaFX 11.0.1(openSUSE Tumbleweed 20190314 上的 KDE Plasma 5.12.2)来创建一个如下所示的Alert对话框:

屏幕截图显示了预期的 JavaFX 警报对话框,该对话框足够大以显示文本和 OK 按钮。

但大多数情况下,当 anAlert被创建并显示时,它呈现的太小了,看起来像这样:

屏幕截图显示 JavaFX 警报对话框非常狭窄,其中唯一可见的是窗口图标的一半。

大约五分之一Alert将正确显示。但其余时间显示的是无用的小版本。

用于显示此对话框的代码没有什么异常:

Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Feature absent");
alert.setContentText(
    "Feature \"edit application settings\" has not been finished yet.");
alert.showAndWait();
Run Code Online (Sandbox Code Playgroud)

我也试过这个建议通过将下面的尝试规模迫使一些有用的东西:

alert.getDialogPane().setMinHeight(Region.USE_PREF_SIZE);
alert.getDialogPane().setMinWidth(Region.USE_PREF_SIZE);
Run Code Online (Sandbox Code Playgroud)

但这给出了完全相同的行为。(请注意,即使为最小宽度和高度设置数值仍然不能解决问题。)

这是 JavaFX 11 中的已知错误吗?是否有一些已知的解决方法可以用来确保Alert对话框实际上是可读的?

java alert javafx

3
推荐指数
1
解决办法
870
查看次数

一个类中的事件能否触发另一个类中的操作?

我正在编写一个程序,按顺序完成以下任务:

  1. 从 JPanel 收集用户输入
  2. 使用输入将依赖项从程序目录复制到新的项目目录中
  3. 使用输入在项目目录中构建交互式图形

我有一个单独的类用于每个任务和一个按顺序调用每个对象的主类。

我的问题是主类在第 1 步完成之前评估第 2 步。因为在主类调用对象2的时候用户还没有关闭JPanel,所以在步骤2开始之前没有收集到用户输入,导致程序崩溃。

我需要的是一种向第 2 类发出信号,表明第 1 类中的 JPanel 已关闭的方法。这样,在步骤 1 中收集了输入字段之后,步骤 2 就开始了。

有没有办法让第 1 类中的窗口关闭触发第 2 类中的操作?如果没有,解决这个问题的最佳方法是什么?

java events swing event-handling mouseevent

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

为什么第一行抛出NullPointerException但第二行没有?

以下代码中的toString方法抛出NullPointerException,但printl打印后调用null.为什么他们没有相同的结果?THL

package exceptionsNullPointer;

public class NPArrays {

    public static void main(String[] args) {
        String[] laces = new String[2];

        // this line throws NullPointerException
        System.out.println(laces[1].toString());

        // this line prints null
        System.out.println(laces[1]);
    }
}
Run Code Online (Sandbox Code Playgroud)

java arrays tostring nullpointerexception

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

如何将Java.Lang.Enum转换为整数?

在monodroid中,我有一个java绑定,它返回一个Java.Lang.Enum对象.

当我尝试将此对象转换为int时,它会抛出.

System.InvalidCastException: Cannot cast from source type to destination type.
Run Code Online (Sandbox Code Playgroud)

这是我在调试器的即时窗口中得到的:

state
{OPENING}
base: {Java.Lang.Enum}
IsClosed: false
IsOpened: false
ThresholdClass: 0x1d200832
ThresholdType: {System.MonoType}
Run Code Online (Sandbox Code Playgroud)

我很惊讶枚举不能转换为int?

java xamarin.android

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

没有经验的java用户请求类的建议

我创建了一个发送单个数据报包的类,该数据包由另一个程序成功接收.

import java.net.*;

public class UDPServer {
    public static void main(final String args[]) throws Exception {
        final String sendID = "level1";
        final int val = 2;
        final DatagramSocket serverSocket = new DatagramSocket(7474);
        byte[] sendData = new byte[1024];
        final InetAddress IPAddress = InetAddress.getLocalHost();
        final String sentence = sendID + new String(" ")
                + new Integer(val).toString();
        final String capitalizedSentence = sentence.toUpperCase();
        sendData = capitalizedSentence.getBytes();
        final DatagramPacket sendPacket = new DatagramPacket(sendData,
                sendData.length, IPAddress, 7470);
        serverSocket.send(sendPacket);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何从另一个代码运行此代码,为sendID和传递变量val.这最终将从游戏向音频编程软件发送信息,以创建算法分数.

如果代码错误/格式错误,请道歉,我不是交易程序员! …

java class

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

任何语言的这种模式

我试图理解这种模式,行和列方程式如何,以便我可以做一个循环给我相同的图片.我不一定需要代码,只是模式的方式,我似乎无法理解它已经尝试编码它仍然我的结果是坏的...

当我的输入为1时,这就是结果 当我的输入是1

当我的输入为3时,这就是结果 在此输入图像描述

当我的输入为15时,这就是结果 在此输入图像描述

algorithm geometry console-application

0
推荐指数
2
解决办法
104
查看次数

Java:循环不工作

每次我尝试运行此代码currentCost返回为0.

我正在尝试使用具有来自用户的资产(此处为汽车)的价值和年龄的循环来计算折旧@ 20%.谢谢.

float cost = Integer.parseInt(jTextField2.getText());
int vehicalAge = Integer.parseInt(jTextField3.getText());
float currentCost = 0;
for (int a = 1; a == vehicalAge; a++) {
    cost = (float) (cost - (cost * 0.2));
    currentCost = cost;
}
JOptionPane.showMessageDialog(this, Float.toString(currentCost));
Run Code Online (Sandbox Code Playgroud)

java loops

-3
推荐指数
1
解决办法
78
查看次数