这应该是一个相对简单的问题,但它让我发疯。我正在尝试在JavaFX中创建扫雷器(主要用于练习),但我甚至无法显示一个简单的矩形。我以前运行过一次游戏,但我试图使游戏更加抽象,因此更容易编码,但我遇到了不显示任何问题。
我消除了所有无关的代码,使其尽可能简单。我基本上是在尝试创建一个名为Box的具有特定颜色和大小的矩形,将框添加到窗格中,并显示窗格。为了使Box成为可以在窗格上显示的节点,我使Box类扩展Rectgle,以便Box具有与Rectgle相同的属性。但是当我运行代码时,它只给出一个空窗格,其中没有框。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
public class Minesweeper extends Application {
@Override
public void start(Stage stage) {
Pane pane = new Pane();
Box box = new Box();
pane.getChildren().addAll(box);
// Create the scene
Scene scene = new Scene(pane);
stage.setTitle("Minesweeper");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
public class Box extends Rectangle {
public Box() {
Rectangle box = new Rectangle(100, 100, 100, 100);
box.setFill(Color.BLUE);
}
}
我意识到如果我把box中的代码放到主扫雷类中,它将显示Box。但是Box将有大量的其他属性,因此需要成为一个独立的类。
我做错了什么不允许展示盒子?
提前感谢您的帮助和考虑。
您在您的Box
类中创建一个新的Rectange
。此Rectange
未添加到任何父
容器中,因此不可见。将您的代码更改为:
public Box() {
super(100, 100, 100, 100);
setFill(Color.BLUE);
}
我是JProfiler的新手。我创建了一个非常简单的测试应用程序。这是一个带有main方法的Main.java: 注意,我暂停直到按键。通过这种方式,我确信主作用域在我按下一个键之前不会结束,所以我希望e存在并且不会被垃圾收集(如果这个假设不正确,请纠正我)。示例类: 我使用JProfiler Eclipse插件启动上述应用程序。我创建了一个基于完整仪器配置文件的会话;我已经删除了Java EE和
我正在尝试使用CSS边框在GUI(fxml)上显示墙。getStyleClass()。add()但它们没有出现。 我正在使用一个开关,将相应的样式类添加到单元格中。 Java代码: CSS代码: GUI事后图片:结果
问题内容: 为什么JavaFX中没有ObservableQueue?如果我们查看FXCollection的Java 9文档(只是看一下8的变化),我们会看到用于创建Observable集,列表和映射的静态助手方法。还有一些创建Observable float和integer数组的方法。但是,无法创建ObservableQueue。Java中的Queue接口具有许多有趣的实现,包括ArrayDequ
我有一个模块化的JavaFX应用程序,具有以下Java代码: 这是模块信息。java文件: 我使用以下命令编译模块化JavaFX应用程序: 我使用以下命令打包模块化JavaFX应用程序: 然后我将应用程序保存在我的/应用程序文件夹中(我在Mac OS上),然后打开应用程序。应用程序会打开一个500x500窗口,但不会渲染任何图形,也不会打开web浏览器。应用程序只打开一个白色空白500x500窗口
问题内容: 场景:我刚刚连接到流,并创建了一个新的存储库 工作区。我加载了它的2个组件,并修改了一些代码。如果打开 “待更改”视图,则在那里看不到任何待更改(并且我的“显示 完整视图”已选中,因此我应该同时看到传入,传出和 挂起的更改集)。 我的文件已保存,显然可以看到文件中的更改,但是 在“未决更改”视图中没有未决更改。 问题答案: 为了使更改显示在“挂起的更改视图”中,您需要: 刷新您的软件包
返回文件的URL。 starfxdemodoc.fxml为: 而StarfXDemodocController.java是这样的: 有谁能帮我一下吗? 编辑/更新: 根据james_d的评论(谢谢你James,显然我已经盯着这个问题太久了……),我修复了控制器中的明显错误,并将SimNameField设置为TextField,而不是Label(并更新了上面的代码块以反映这一点)。我还将异常处理更改