2012-07-09 37 views
0

可以創建一個類似於jQuery的.css()函數的方法?創建類似於jQuery的.css()函數的方法

例jQuery中:

$("#elemid").css("position","absolute"); 
$("#elemid").css({position:"absolute",left:45}); 

而且我想這看起來幾乎是一樣的JAVA

實例JAVA

Rectangle rect=new Rectangle(); 
rect.style("position","absolute"); 
rect.style({position:"absolute",left:45}); 
+0

到目前爲止沒有,但我認爲這是可能的與枚舉 – boyd 2012-07-09 15:53:21

回答

0

你可以做一些事情上similiar創建一個DSL你擁有。 DSL庫的一個例子是JooQ,一個用於SQL的java DSL。

這將需要一些工作,但:P

+1

用Java創建一個類似於DSL的DSL並不值得這樣做。另一方面,Ruby ... – LanguagesNamedAfterCofee 2012-07-09 16:06:18

+1

是的,但不幸的是,他想要在Java中執行它:/ – 2012-07-09 16:26:32

0

的jQuery函數的基本想法是,他們返回一個新的(或相同的)對象爲你潛在的呼籲另一種方法。它在.NET Framework的System.Linq名稱空間中實現的類似方法。雖然那個使用了擴展方法,但這些只是爲現有類定義其他方法的一種方法。一個例子:

foreach (var i in list.Skip(4).TakeWhile(x => x > 0).Select(x => x*x)) 
{ 
    Console.WriteLine(i); 
} 

此跳過列表的在剩餘元素的前四個元素,那麼迭代,直到它或者到達列表或這不是大於零的元件的端部。迭代的每個元素被平方,然後由迭代器返回以寫入控制檯。

所以,如果您使用Java創建自己的類,只需讓方法返回一個對象來調用其他方法即可。 StringBuilder/StringBuffer類已通過簡單地返回this與他們的Append方法做到這一點。

+0

以及如何在java.Hoe中使用它,我可以調用該方法嗎? – boyd 2012-07-09 18:29:15

相關問題