小编Thr*_*est的帖子

与 TomcatServer 同时启动 JavaFX 应用程序

我创建了一个项目,需要一个 tomcat 服务器来托管一个小网站。现在我想向该项目添加一个 JavaFX 应用程序。这也应该在 Tomcat 启动时启动,但不幸的是没有任何反应。FX 已添加到项目库中。

public class Start {
    
    public static void main( String args[] )
    {
        try {
            
            Tomcat tomcat = new Tomcat( );
            String webappDirectory = new File( "src/main/webapp" ).getAbsolutePath( );
            tomcat.setPort( 8080 );
            Context context = tomcat.addWebapp( "", webappDirectory );
            Tomcat.addServlet( context, "blockchain", new ServletContainer( new Applications( ) ) );
            context.addServletMappingDecoded( "/blockchain/api/*", "blockchain" );
            tomcat.start( );
            tomcat.getServer( ).await( );
            
            ConfigurationGui config = new ConfigurationGui();
            Stage stage = new Stage();
            config.start(stage);
            
        }
        catch ( Exception …
Run Code Online (Sandbox Code Playgroud)

java tomcat javafx

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

在小型客户端-服务器应用程序中更改 JavaFX 标签文本

我创建了一个小型的客户端-服务器程序,其工作原理如下:客户端在五秒内向服务器发送一个随机数,然后服务器发送一个(或多或少出名的)报价给客户端。该随机数表示某些引号所在的 ServerClass 中 ArrayList 的索引。连接运行良好,客户收到报价,我可以轻松地使用 sysout 将其打印出来。我现在的问题是,我想在一个小的 JavaFX / FXML 文件中将收到的报价显示为标签,并且当从服务器传入新报价时,文本应该每五秒更改一次。QuotesClient 类(即客户端)也是相应 FXML 文件的控制器,但问题是因为我的 Client 类中负责处理传入 UDP 数据包的方法是静态的,当然我无法访问非静态在此方法中进行标记。

我也尝试将标签设为静态,但随后我收到一个 NullPointerException:

java.lang.NullPointerException
    at Aufgabe1.QuotesClient.main(QuotesClient.java:48)
    at Aufgabe1.QuotesApp.lambda$1(QuotesApp.java:32)
    at java.base/java.lang.Thread.run(Thread.java:844)

Run Code Online (Sandbox Code Playgroud)

这是我的客户端文件:

public class QuotesClient {
    private static final int BUFSIZE = 508;
    
    @FXML
    private static Label zitatLabel; //Thats the quoteLabel i wanna change

    public static void main(String[] args) throws UnknownHostException {
        var host = "localhost";
        var localPort = 40000;
        var serverPort = 50000; 
        try (var socket = new DatagramSocket(localPort)) {
            while(true) {
                Random …
Run Code Online (Sandbox Code Playgroud)

java udp network-programming client-server javafx

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

标签 统计

java ×2

javafx ×2

client-server ×1

network-programming ×1

tomcat ×1

udp ×1