JavaFX:在一个方法中创建并在另一个类中使用的对象?

JavaFX:在一个方法中创建并在另一个类中使用的对象?,java,javafx-2,Java,Javafx 2,从理论上讲,我对Java并不陌生,但我是一个初学者。 我正在试验JavaFX,首先,我正在实现一个GUI,其中窗口(Stage)具有屏幕的大小 问题:我想使用这个屏幕大小对象,它是矩形的类型,在另一个类中命名为屏幕边框(称为第二个)。 以下是我的简单代码: public class Test extends Application { public static void main(String[] args) { launch(args);} public sta

从理论上讲,我对Java并不陌生,但我是一个初学者。 我正在试验
JavaFX
,首先,我正在实现一个
GUI
,其中窗口(
Stage
)具有屏幕的大小

问题:我想使用这个
屏幕大小对象
,它是
矩形
的类型,在另一个类中命名为
屏幕边框
(称为
第二个
)。 以下是我的简单代码:

public class Test extends Application 
{
    public static void main(String[] args) 
    { launch(args);}

    public static Rectangle screenBorders;

     @Override
     public void start(Stage primaryStage) 
     {
      Group grp=new Group();
      Scene sc = new Scene(grp);
      primaryStage.setScene(sc);
      primaryStage.show();

      screenBorders= new Rectangle (
      Screen.getPrimary().getBounds().getWidth(),
      Screen.getPrimary().getBounds().getHeight()
      );

      Second second= new Second();

     }

}
新文件、新类

class Second extends Group
{

   public Second () 
   {
    Rectangle second =new Rectangle(screenBorders.getWidth(), screenBorders.getHeight());
   }
//code, code, code, don't know yet what code i will put...
}
在第二个类中,我无法捕获/使用第一个类中定义的
screensize
。(我想使用
screenBorders

我试图在名为
Test
的第一个主类中使用
public
static
关键字声明
screenBorders
,认为它可以在我的包中的任何地方使用,但它不起作用


有人知道如何将对象与其他类链接吗?

试试
Stage.setFullScreen(true)
,文档是。

如果您想从
第二个
类访问静态变量,您需要直接声明第一个类名:

Rectangle second = new Rectangle(
    Test.screenBorders.getWidth(), 
    Test.screenBorders.getHeight());
在第二个
类的开头使用导入静态:

import static Test.*;

“但它不起作用”您能告诉我您遇到了什么问题或错误。它说“找不到符号”错误,但已通过导入静态解决,如下所示。thksuser2305415,我应该补充一点,这个解决方案可能不是你想要的,因为,如果舞台的大小发生变化,你将不会得到通知。因此,不要使矩形静态可用,而是尝试使Screen.getPrimary().boundsProperty()静态可用,并将smth绑定到bounds属性()的widthProperty()和heightProperty()。@Sergey Grinev我使用了第二种方法“导入静态测试。*;”;它可以工作!!!谢谢!!:)@AlexanderKirov不太明白其中的区别,但也许我得试试你的房子方法:)我不知道你的应用程序,但不同的是,当你创建一个矩形时,它会有固定的值,就像在初始化时一样。但是当你使用属性和绑定时,你可以随时访问最新和最实际的值。@AlexanderKirov Humm我明白了。所以有kind有两种情况:1-如果矩形的尺寸必须在整个应用程序中保持相同,因此不需要像您所说的那样使用任何属性和绑定。2-如果矩形必须在整个应用程序中动态更改,那么对属性绑定肯定是必要的。在我的情况下,我希望矩形保持完全相同的尺寸在整个应用程序中都是一样的,所以我认为情况1更合适。我已经尝试过setFullScreen()函数,它可以很好地设置全屏模式下的窗口,但是有一种弹出消息说,您可以使用esc按钮退出模式,而这并不真正适合我的应用程序。