小编bog*_*bog的帖子

JavaFX:EventHandler和EventFilter有什么区别?

我已经谷歌搜索了一段时间,我发现基本上,一些网页说没有大的差异.除了一些要点:

  1. EventFilter 之前执行 EventHandler
  2. EventFilterevent.Consume(); 让我看看是不明智的如果我理解它:让我说我有:

    Button b= new Button("Test"); b.addEventHandler(.....){...}; b.addEventFilter(......){...};

让我们说它们都是"联系"的MouseEvent.MOUSE_CLICKED; 那么,EventFilter代码将是第一个被执行的代码!?

让我们说,现在,我有:

Button b= new Button("Test");
b.addEventHandler(.....);
b.addEventFilter(......){
  //some code
  event.consume();
}; // First filter
b.addEventFilter(......){
  //some other code
  event.consume();
}; // Second filter
Run Code Online (Sandbox Code Playgroud)

在这种情况下,EventFilter将执行boath s但EventHandler不会执行.对?

还有其他事要知道吗?在哪些情况下我应该优先考虑其中一个?我有时应该一起使用它们来解决一些问题吗?

谢谢!

java events

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

C++和Java中的静态变量

我有一个问题:假设我们有这个功能:(在C++中)

int& f() {
    static int x = 0;
    return x;
} // OK
Run Code Online (Sandbox Code Playgroud)

int& h() {
    int x=0;
    return x;
} // ERROR
Run Code Online (Sandbox Code Playgroud)

为什么会h出错?是因为关键字static吗?在我的函数终止后,我发现static关键字让我的x变量生效.所以我仍然可以从外部访问该内存位置(另一个功能或主要?对吗?).相反,int x = 0h终止后丢失.对?我不确定我真的得到了它!

那Java呢?我读过我不能static在方法中声明变量,只能在类中声明变量.

谢谢.

c++ java static

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

JavaFX:如何清除画布

假设我在画布上淹没了一个矩形,我想要清理它以绘制其他图形/ poligon/arc ....

我该怎么做?我尝试过很多方面,但没有一个有效.我认为这可行,但我不确定,你能不能告诉我它是否正确?

GraphicsContext gc = myCanvas.getGraphicsContext2D();
gc.setFill(Color.ALICEBLUE);
gc.fillRect(0, 0, 300, 200);
Run Code Online (Sandbox Code Playgroud)

javafx java-canvas

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

JavaFX - 如何填充颜色形状?

假设我有一个应用程序窗口,我声明Circle c = new Circle(40,40,40);,它最初是黑色的.如果我想用红色填充它该怎么办?

如果我想用红色填充它该怎么办?(例如,如果单击按钮,则c变为红色)

geometry javafx colors shapes

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

将EventHandler添加到VBox中包含的TilePane中包含的ImageView中?

我有以下架构:

  • 一个VBox,包含一个HBox和一个TilePane.

在HBox中有按钮,标签和文本字段.

每次我点击根(HBox),我都应该将一个ImageView添加到磁贴窗格.此ImageView shold包含一个图像(例如:"2.jpg").平铺窗格组件的最大值为5.

每次单击图像时,我都应该将新图像加载到单击的ImageView,例如"1.jpg".它不起作用.当我点击我的图像时,就像我点击了根,所以它创建了另一个TilePane的单元格.这是代码,你能帮帮我吗?

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package dadao1;

import java.util.HashSet;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.TilePane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

/**
 *
 * @author Ambra
 */ …
Run Code Online (Sandbox Code Playgroud)

events javafx mouseevent

6
推荐指数
2
解决办法
3万
查看次数

XQuery:何时使用 data() 函数?

我不明白什么时候应该使用该data()功能。示例: $path/@name$path/data(@name)?有时,当我不添加时data(),会出现错误,只能添加它来修复。

xml xquery

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

C++:未实现:非静态数据成员初始值设定项

我有以下代码:

#include <fstream>
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

struct node{
    vector<int> vic;
    bool visitato = false;
};

int main (){
    vector<node> grafo;
    ifstream in("input.txt");
    int n, m, s, from, to;
    in >> n >> m >> s;
    grafo.resize(n);
    for (int i = 0; i < m; i++){        
        in >> from >> to;
        grafo[from].vic.push_back(to);
    }
    for (int i = 0; i < grafo.size(); i++)
        for(int j = 0; j < grafo[i].vic.size(); j++)
            cout << "From node " …
Run Code Online (Sandbox Code Playgroud)

c++ struct compiler-errors non-static

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