我在 Eclipse 中有一个名为“VisualST”的处理类,我创建了一个名为:VisualST 类型的“树”的对象。现在我知道您可以在主函数(位于类 GUI 中)中使用下面的行来运行 VisualST 类。
PApplet.main(new String[] {"VisualST" });
问题是我将数据存储到 VisualST 类(因此是对象)中,我需要一种方法来运行特定的 VisualST,或者只运行 VisualST,在程序运行时可以在其中编辑字段。当我刚刚运行 PApplet 主函数时,我得到了要显示的窗口,但无法访问更改窗口构建方式的字段。
我可以在类 GUI 中单击按钮来编辑字段,该类 GUI 是没有处理导入的 Java:
public class ButtonListener implements ActionListener
{
public void actionPerformed (ActionEvent e){
if(isInteger(BInput.getText()))
val = Integer.parseInt(BInput.getText());
tree.setstval(val);//edits tree! a specific VisualST object
}
}
这是 VisualST 类的要点:
import processing.core.PApplet;
public class VisualST extends PApplet {
int stbranch;
int lvls;
//the branch class takes PApplet, length, value (that will be display), and rgb
public branch rt;
public int stval;//start value that should be changed when button is pressed
public void setup() {
size(360, 640);
stbranch = 120;
lvls = 5;
}
public void draw() {
background(150);
//start at the top of screen and start drawing
translate(width/2,0);
//stval is passed through the constructor and then drawn as the value
rt = new branch(this, stbranch, stval, 0, 0, 0);
translate(0, stbranch);
makeBranch(lvls, stbranch*2/3, 0);
}
void makeBranch(int lvls, double stlength, float y)
{
//this makes the tree
}
}
这是分支构造函数:
import processing.core.PApplet;
public class branch {
double y;
public int value;
PApplet parent;
int r;
int g;
int b;
private branch left;
private branch right;
int opacity; //0-255
branch(PApplet p, double fy, int v, int ir, int ig, int ib){
parent = p;
y = fy;
value = v;
opacity = 200;
parent.stroke(ir, ig, ib, opacity);
parent.line(0, 0, 0, (float)y);
parent.noFill();
parent.stroke(ir, ig, ib, opacity);
parent.ellipse(0, (float)(10+y), 20, 20);
parent.fill(ir, ig, ib, opacity+25);
parent.text(value, -5,(float)(10+5+y));
}