我使用处理(processing.org)在eclipse中创建了一个java应用程序,该处理应该显示在这个窗口not displayed at the right place中,但正如你所看到的那样,它并不起作用。 我已经尝试过使用proclipsing编译应用程序的方法:http://www.instructables.com/id/Proclipsing-Using-the-Eclipse-IDE-for-Processing-p/,但它不起作用,我不想用这种方式。 这就是我的代码:
package HelloProcessing;
import java.awt.*;
import javax.swing.*;
import processing.core.*;
public class main
{
public static void main(String args[])
{
PApplet.main(new String[] {"--present", "HelloProcessing.HelloProcessing"});
JFrame frame = new JFrame("HelloProcessing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel emptyLabel = new JLabel("");
emptyLabel.setPreferredSize(new Dimension(HelloProcessing.xs, HelloProcessing.ys));
frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
}
package HelloProcessing;
import processing.core.*;
public class HelloProcessing extends PApplet
{
/*
* public static void main(String args[])
* {
* PApplet.main(new String[] {"--present", "HelloProcessing.HelloProcessing"});
* }
*/
float rb = 255;
float gb = 255;
float bb = 255;
static int xs = 500;
static int ys = 500;
float xe = 150;
float ye = 150;
float we = 100;
float he = 100;
float re = 255;
float ge = 0;
float be = 0;
float xr = 250;
float yr = 250;
float wr = 100;
float hr = 100;
float rr = 0;
float gr = 0;
float br = 255;
public void setup()
{
background(rb, gb, bb);
}
public void settings()
{
/* size(500, 500); */
size(xs, ys);
}
public void draw()
{
int ecolor = color(re, ge, be);
fill(ecolor);
ellipse(xe, ye, we, he);
int rcolor = color(rr, gr, br);
fill(rcolor);
rect(xr, yr, wr, hr);
}
}
你能帮帮我吗?
由于
答案 0 :(得分:0)
调用PApplet.main()
函数为您构建一个窗口,并在该窗口中显示Processing sketch。
然后你创建第二个JFrame
并显示它。但是第二个JFrame
对您的Processing sketch没有任何了解。您只需向其添加一个空的JLabel
,因此它无法显示任何内容。
在处理3之前,您曾经可以直接在PApplet
中嵌入JFrame
。但是在处理3之后,由于PApplet
不再延长Applet
,因此您无法再这样做了。
您仍然可以通过Component
课程到达基础PSurface
,但这对新手来说并不是很友好。或者,您可以将Processing用作Java库并自己构建PGraphics
,但这也不是很简单。
答案 1 :(得分:0)
Kevin Workman说我:
停止传入“--present”作为参数。这就是告诉它全屏显示的内容。