這是事情..我想畫一些網站的圖表一些網頁。 這些圖表有時候會有一兩行......但有時候還會多一些,其中每個都是由任意的數學函數定義的。至於現在,我只知道這種繪製圖像的可能性。三線:PropertyAccess:有沒有辦法動態創建訪問函數?
public class ArbitraryFunctionData {
private double x1;
private double x2;
private double x3;
private double y;
public ArbitraryFunctionData(double x1, doouble x2, double x3, double y) {
this.x1 = x1;
this.x2 = x2;
this.x3 = x3;
this.y = y;
}
public double getX1() {
return x1;
}
public double getX2() {
return x2;
}
public double getX3() {
return x3;
}
public double getY() {
return y;
}
public void setX1(double x1) {
this.x1 = x1;
}
public void setX2(double x2) {
this.x2 = x2;
}
public void setX3(double x3) {
this.x3 = x3;
}
public void setY(double y) {
this.y = y;
}
}
某處有必要定義這個接口:
public interface ArbitraryFunctionAccess extends
PropertyAccess<ArbitraryFunctionData> {
ValueProvider<ArbitraryFunctionData, Double> x1();
ValueProvider<ArbitraryFunctionData, Double> x2();
ValueProvider<ArbitraryFunctionData, Double> x3();
@Path("x")
ModelKeyProvider<ArbitraryFunctionData> xKey();
}
所以我可以將這些訪問功能領域圖表:
horizontalAxis.addField(arbFuncAccess.x1());
horizontalAxis.addField(arbFuncAccess.x2());
horizontalAxis.addField(arbFuncAccess.x3());
這是創建圖表的一種非常不舒服的方式。有沒有更好的方法來做到這一點?需要預先定義 ArbitraryFunctionData
,並且需要手動添加每一種訪問方法。我寧願做這樣的事情:
ArbitraryFunction f1 = new ArbitraryFunction(0, 5, 0, 5) {
@Override
public double f(double x) {
return x+1;
}
};
ArbitraryFunction f2 = new ArbitraryFunction(0, 5, 0, 5) {
@Override
public double f(double x) {
return x+2;
}
};
store.add(0, f1.getData()); // a line
store.add(1, f2.getData()); // another line
在哪裏被覆蓋ArbitraryFunctions功能public double f(double x)
需要和ArbitraryFunction.getData()
被定義爲public List<ArbitraryFunctionData> getData()
。這將增加整個事情的動態性,但問題是,我無法將這些字段添加到圖表中,因爲它們需要在public interface ArbitraryFunctionAccess
中預先定義。
我希望我能恰當地描述我的需要。有沒有人知道這個可能的解決方案?
我看了看它,這似乎使我朝着正確的方向,但似乎我真的不能變通解決'@Path(「X」) ModelKeyProvider x鍵( );'事情..ArbitraryFunction現在定義爲'公共抽象類ArbitraryFunction實現ValueProvider '但現在我不知道如何管理ModelKeyProvider。我想要的只是將多條線條動態添加到圖表中。 –
displayname
2013-03-25 15:55:01
您需要更改您的問題 - 而不是無法完成的任務,從您想要實現的目標開始,然後繼續嘗試所嘗試的目標。但要重申,PropertyAccess不能爲動態屬性集做任何事情。放棄任意功能的想法 - ValueProvider *就是那個功能。您可以查看本博客文章的ValueProvider部分:http://www.sencha.com/blog/building-gxt-charts/ – 2013-03-25 15:58:43
圖表如何區分行嗎?我知道這個問題聽起來很愚蠢,但是..我根本沒有意識到這一切,爲什麼看起來很棘手,只需添加幾行到圖表...... – displayname 2013-03-27 11:35:03