- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我目前正在学习 Java,并正在使用 Java FX 进行事件驱动编程。该程序制作一个圆圈,并通过几种不同的方法(按钮、鼠标按钮、向上和向下箭头)增加其大小。
按钮和鼠标单击工作正常,但向上和向下箭头不行。似乎当我按下它们时,没有收到任何 KeyCodes。我尝试过将其更改为其他键,效果很好。
我实际上从书中复制了这个程序来练习,它与我的代码相同......
我使用的是 MacBook Pro 18,运行 Mojave 10.14.5。 Java 10,IntelliJ 社区版 2019.1。
代码如下,如有帮助,我们将不胜感激。
package testing2;
import javafx.application.Application; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.input.KeyCode; import javafx.scene.input.MouseButton; import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; import javafx.scene.layout.StackPane; import javafx.scene.paint.Color; import javafx.scene.shape.Circle; import javafx.stage.Stage;
public class ControlCircleWithMouseAndKey extends Application {
private CirclePane circlePane = new CirclePane();
@Override
public void start(Stage primaryStage) {
//hold 2 buttons in an Hbos
HBox hBox = new HBox();
hBox.setSpacing(10);
hBox.setAlignment(Pos.CENTER);
Button btEnlarge = new Button("Enlarge");
Button btShrink = new Button("Shrink");
hBox.getChildren().addAll(btEnlarge, btShrink);
//Create and register button click handlers
btEnlarge.setOnAction(e -> circlePane.enlarge());
btShrink.setOnAction(e -> circlePane.shrink());
BorderPane borderPane = new BorderPane();
borderPane.setCenter(circlePane);
borderPane.setBottom(hBox);
borderPane.setAlignment(hBox, Pos.CENTER);
Scene scene = new Scene(borderPane, 200, 200);
primaryStage.setTitle("Change Circle");
primaryStage.setScene(scene);
primaryStage.show();
//Register the mouse clicks enlarge and shrink
circlePane.setOnMouseClicked(e -> {
if (e.getButton() == MouseButton.PRIMARY) {
circlePane.enlarge();
} else if (e.getButton() == MouseButton.SECONDARY) {
circlePane.shrink();
}
});
//Register keys to englarge and shrink
scene.setOnKeyPressed(e -> {
if (e.getCode() == KeyCode.UP) {
circlePane.enlarge();
} else if (e.getCode() == KeyCode.DOWN) {
circlePane.shrink();
} else {
System.out.println(e.getCode());
}
});
} }
class CirclePane extends StackPane {
private Circle circle = new Circle(50);
public CirclePane() {
getChildren().add(circle);
circle.setStroke(Color.BLACK);
circle.setFill(Color.WHITE);
}
public void enlarge() {
circle.setRadius(circle.getRadius() + 2);
}
public void shrink() {
circle.setRadius(circle.getRadius() > 2 ? circle.getRadius() - 1 : circle.getRadius());
} }
最佳答案
您已使用“场景”来注册按键。难道不应该是“borderPane”(我猜这一切都取决于焦点)?
关于按下向上和向下箭头时,Java FX 无法识别 KeyCode.UP 或 KeyCode.Down (MacBook Pro 18 - Mojave 10.14.5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56200192/
标题可能说明了一切。 考虑到 ipad 的处理器与 macbook 相比不算什么,我认为 Macbook 应该能够运行模拟器。不过,我对iphone/ipad的开发不太了解,想就此发表一些看法。 例如
我正试着在新的M1芯片MacBook上运行Python3。我尝试通过官方网站(https://www.python.org/downloads/release/python-391/)和BREW安装p
好的,事情是这样的。我的一个客户声称他在使用 Safari 浏览器的 Macbook Pro 上查看网站时看不到社交图标(在屏幕的左侧)。这些图标在我测试过的所有设备上都清晰可见。是否有任何 Macb
☀️今天我们来给新电脑安装上一些开发工具,因为我的MacBook是 intel 版本的,直接安装anaconda即可,如果是m1芯片的版本,可参考下面教程: 链接: MacBook m1 安装anac
我有一台 MacBook,想在上面开始我的 Android 开发。但我担心它的可能性。是否可以在 Mac OS 上进行 Android 开发? 到目前为止,我知道可以通过像 VMWare 这样的虚拟工
我有一个问题,当我想将我的 PHP 代码连接到我的数据库时,这个错误显示在图片中但是当我通过终端连接我的数据库时,这是有效的 https://i.imgur.com/cpIzV9E.png __con
我目前正在本地开发一个网站(否则,我会直接链接到它),并且正在对一些设备进行一些最后的调试。我遇到的问题是,在配备 Retina 显示屏的 Macbook Pro 上,它迫使整个网站的分辨率宽度变小。
我创建了一些使用媒体查询的 CSS: @media (max-width: 1230px) { .under_navi { height: 300px; tex
我打算将我的 MacBook 放在我的楼梯平台/走廊上,以便当楼下的人上来翻查我的卧室/房间时,这样当检测到入侵者时,就会发生一组脚本事件,例如从 10 开始倒计时,然后是非常响亮的音乐,但现有的软件
因为m1芯片是arm版本的架构,以前在mac上的很多软件都是基于intel架构的软件,apple开发了rossta2,可以在m1上运行intel架构的软件,但是性能会有损失 python的3.9版
我想买一台新的 macbook Air M1。我想知道 selenium 测试工具在同一台机器上是否正常工作?如果有人尝试过,请分享您的经验。 最佳答案 selenium docker没有在M1上运行
我在他们的网站上安装了最新版本的 Node,但是我遇到了 png 和段错误等问题,查了一下发现这是版本 16 上的一个常见问题。所以我决定降级到稳定版本(14),这是我一直做不到的。我试过了 npm
关闭。这个问题需要debugging details .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 8 个月前关闭。 Improve this quest
我最近换了一个macbook。我错过了正确的控制键,我的小手指开始疼痛,因此我将我的 Cmd 映射到 Ctrl 单独在 emacs 中,我已经将 Caps 映射到 Ctrl 和 Ctrl 到 Caps
我正在编写一个小型音频处理程序,并且我需要某种方法来从 Macbook 中的麦克风获取音频输入。 缓冲区轮询?通知?我应该注意什么类/框架? 最佳答案 最简单的方法之一是使用音频队列。它相当抽象,有相
第一次得到新的MBP 2016。尝试设置PHP、MySQL 和 Apache。使用命令启动Apache sudo apachectl restart 然后通过安装PHP brew install ph
显示模式设置:全屏.displaywidth =(1440,900,16,0) 当前显示分辨率:1440*900 缩放。 代码: fullscreen.pixelperframe = ((full
在我寻找禁用 Macbook 键盘的解决方案时,我目前正在与 Launchd 作斗争。 首先介绍一些背景知识:我在我的 Macbook Pro 2010 型号上洒了一些水,此后键盘上的某些键不再起作用
我正在 Mac 上构建一个项目。它以 glibtoolize: command not found. 我没有找到安装 glibtool 和 glibtoolize 的任何说明。所有搜索结果都在讨论安装
我在一个有 Canvas 的网站上工作。我在 Canvas 上有一个图像,我想做的是捏缩放图像(网页最终将在触摸屏上显示)。我正在使用 jGestures 来检测捏合事件。但是,我想知道是否有一种方法
我是一名优秀的程序员,十分优秀!