小编Viv*_*V K的帖子

选择打开JavaFX窗口的监视器

我有两台显示器.我在第二台显示器上打开了Eclipse,但是当我运行JavaFX代码时,JavaFX窗口总是在第一台显示器中打开,每次我必须将它拖到第二台显示器上才能使用它.

我必须这样做,因为当它在第一个监视器上打开时,场景中没有任何组件被加载.仅当我将其拖动到第二个监视器时才会加载它.但是,当我断开第二台显示器时,它会正确加载.

有人可以帮帮我吗?默认情况下,如何在第二台显示器上打开窗口?

注意:我的第一台显示器是Macbook Pro,第二台是用作外接显示器的iMac.

回应评论:

任何简单的javaFX代码都会出现组件在screen1上无法正确加载的问题.例如,为了方便起见,我将@Sergey提供的代码作为答案.

码:

public class FXScreens extends Application {

    @Override
    public void start(Stage stage) {
        VBox root = new VBox(10);
        root.setAlignment(Pos.CENTER);
        Scene scene = new Scene(root, 200, 250);

        int index = 1;
        for (Screen screen : Screen.getScreens()) {
            Rectangle2D bounds = screen.getVisualBounds();

            Button btn = new Button("Move me to Screen " + index++);
            btn.setOnAction((e) -> {
                stage.setX(bounds.getMinX() + 100);
                stage.setY(bounds.getMinY() + 100);
            });
            root.getChildren().add(btn);
        }

        stage.setTitle("Screen Jumper");
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) …
Run Code Online (Sandbox Code Playgroud)

java multiple-monitors javafx javafx-8

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

如何将2D矩阵的1列传递给C/C++中的函数

我有一个2D C风格的数组,我必须将它的一列传递给一个函数.我怎么做?

基本上我需要相当于MATLAB命令的C/C++,A[:,j]它会给我一个列向量.在C/C++中有可能吗?

c c++ arrays multidimensional-array

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

在C/C++中包含未使用的头文件会有性能影响吗?

我有一个项目,其中每个C/C++文件使用一堆头文件.但是每个C/C++文件使用的头文件大约有70-80%是相同的.因此,为了使我的代码更具可读性,我计划将项目中需要的所有头文件common_headers.h包含在单个头文件中,并将其包含在我的所有C/C++文件中,如下所示:

#include "common_headers.h"
Run Code Online (Sandbox Code Playgroud)

现在,这将包括所有必需的标题,但也包含一些单独文件不会使用的额外标题.我想知道如果这样做,是否会在运行时以任何机会达到性能?

我很好,有几毫秒的额外延迟来编译代码,但我想知道这是否会影响我的运行时性能?

使用的标题说明:

  1. 其中大多数是标准的C/C++标头.
  2. 用户定义的标题中包含内联模板函数.
  3. 用户定义的标头中没有静态函数.

这是我的编译器:g ++(GCC)4.4.7 20120313(Red Hat 4.4.7-3)

c c++ performance header-files

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

检查python中套接字中是否有数据可用

我想要一个功能来检查数据是否在读取之前在套接字中等待读取.这样的事情会有所帮助:

if (data available) then read data

else wait in blocking mode till data becomes available
Run Code Online (Sandbox Code Playgroud)

我怎样才能在Python中实现这一点

python sockets networking

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

Eclipse CDT - 知道哪些文件包含头文件的快捷方式?

我有一个大项目。我想找到其中包含的所有 .cpp/.h 文件file1.h。Eclipse CDT 中是否有任何快捷键可以执行此操作?

c c++ eclipse-cdt header-files

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

如果反射性地为真,那么C++中std :: map中的compare函数如何工作?

我的项目中有一张地图.每次插入新元素时,我都希望确保插入的新元素的键至少是地图中其他元素的最小宽度.为此,我写了一个自定义比较类,如下所示:

class PulseCompare
{
public:
    PulseCompare(int minwidth_):minwidth(minwidth_){};
    bool operator()(const int x, const int y) const {
        if(abs(x-y)>minwidth) return false;
        else return true;
    }
private:
    int minwidth;
};
Run Code Online (Sandbox Code Playgroud)

并创建了这样的地图:

std::map<int,float,PulseCompare> pulsemap(PulseCompare(256));
Run Code Online (Sandbox Code Playgroud)

在我插入元素之前,我使用如下map.find方法:

if ( pulsemap.find(1600) == pulsemap.end() ) {
  // not found so I can insert
} else {
  // found
}
Run Code Online (Sandbox Code Playgroud)

但问题是,当图试图反射性地使用上述通过互换的价值比较功能xy,就得到true了两种情况通常是不正常的比较操作等的情况<>

std::map::key_comp 这里的cplusplus文档页面上它说,我引用

在构造上设置地图对象的比较对象.其类型(成员key_compare)是地图模板的第三个模板参数.默认情况下,这是一个较小的对象,它返回与运算符"<"相同的对象.

此对象确定容器中元素的顺序:它是一个函数指针或一个函数对象,它接受与元素键相同类型的两个参数,如果第一个参数被认为是在第二个参数之前,则返回true.它定义的严格弱排序,否则为假.

如果key_comp以反射方式返回false,则认为两个键是等效的(即,无论键作为参数传递的顺序如何).

但这并没有说明它是反射性的情况true.谁能告诉我它的行为会是什么呢?或者我应该只通过迭代整个地图来进行间隔比较?

c++ stl stdmap

2
推荐指数
2
解决办法
7791
查看次数

C++中的数据结构是否可以在达到指定大小阈值时自动解除?

我正在寻找一个队列的现有实现,它将构建到指定的大小,然后如果将更多元素排入队列,则在插入新元素之前将最后一个元素解除,从而保持其大小始终<=指定大小.

我知道这很容易实现std::list,但我很想知道在C++中是否已存在这样的数据结构?

c++ queue data-structures

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

Unix - 文件中行和列的循环移位

给定一个包含以下内容的文件:

1 2 3 4
5 6 7 8
a b c d
e f g h
Run Code Online (Sandbox Code Playgroud)

是否有任何unix命令可用于循环移动行和列?

我在寻找像是这样的话,

circular_shift -r 2 <file> (换行2)给出:

a b c d
e f g h
1 2 3 4
5 6 7 8
Run Code Online (Sandbox Code Playgroud)

circular_shift -c 2 <file> (换列2)给出:

3 4 1 2
7 8 5 6
c d a b
g h e f
Run Code Online (Sandbox Code Playgroud)

谢谢!

unix awk

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

delete []深层删除C++中的结构?

假设我有一个结构数组,而这些结构又有动态分配的数组,delete [] deep会删除我上面说的所有内容吗?

例如,考虑我有这样的结构:

struct A
{
  char* name;
  float* data;
  int** image;
};
Run Code Online (Sandbox Code Playgroud)

我创建的代码中的某个位置

A** array = new A[n];
Run Code Online (Sandbox Code Playgroud)

我为我的数组中的所有结构分配内存

for(int i=0; i<n; i++)
{
  array[i] = new A;
}
Run Code Online (Sandbox Code Playgroud)

然后一些其他地方类似地填充结构的内容(使用malloc/new创建名称,数据和图像).

现在,如果我说delete[] array;,到目前为止分配的所有内存(对于char*,float*,int**,结构和数组)是否会被销毁?

c++ arrays struct memory-management

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

传递给pgplot时是否有O(1)方法来分离复数数组的实部和虚部?

我的代码中有一个复杂的float数组,一个库为我生成.考虑它是这样的:

float _Complex data[N];
Run Code Online (Sandbox Code Playgroud)

为了将它作为具有实部和虚部的单独数组,我迭代数组并获取如下值:

float real[N];
float imag[N];
for (int pt=0;pt<N;pt++) {
  real[pt] = creal(data[pt]);
  imag[pt] = cimag(data[pt]));    
}
Run Code Online (Sandbox Code Playgroud)

但这实际上是低效的,因为这是一个O(N)执行时间和空间的操作.我想知道是否可以使用一些指针算法分离数组,以便减少执行时间和内存使用量?

我需要分别绘制实数和虚数值.我的绘图库PGPLOT需要将一组值发送给它,因此我无法"就地"使用复杂数组.

c arrays time-complexity complex-numbers

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

Valgrind error -Address在分配后为零字节 - C/C++

我正在为我的项目进行内存泄漏.我收到一个错误,我无法理解它的根本原因.我的代码很大,所以我会在这里放置需要的块.

基本上我在一个函数中有一个数组find_pulses,我动态分配如下:

float*rmsArray;
    rmsArray = (float*)malloc((N-pulse_samplewidth+1)*sizeof(float));
Run Code Online (Sandbox Code Playgroud)

我调试到这一点,发现它N-pulse_samplewidth+1不是零.(实际上~2 ^ 21)

我将值填充到此数组中,如下所示:

for (int loop1 = 0; loop1 < N-pulse_samplewidth; ++loop1) {
// populate rms array here.
}
Run Code Online (Sandbox Code Playgroud)

我将此数组发送到另一个名为findpeakthis的函数:

 int* ans = findpeak(rmsArray,N,pulse_samplewidth,startsec,min,max,x);
Run Code Online (Sandbox Code Playgroud)

声明findpeak如下:

int* findpeak(float* data, int n, int pulse_samplewidth,float startsec,float min,float max, float* x);
Run Code Online (Sandbox Code Playgroud)

findpeak函数内部,我将一个特定的值添加data到堆栈中,如下所示:

std::stack<float> peaks_y;
for (int loop1 = 0; loop1 < n; ++loop1) {
if( some condition)
{
peaks_y.push(data[loop1]); // point of error. …
Run Code Online (Sandbox Code Playgroud)

c++ arrays valgrind

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