2012-09-02 206 views
0

我是新來的java,返回值是如何工作的?我需要返回GLabel的寬度,以另一種方法JAVA:返回方法和設置參數

private double createLabel(String text, int locX, int locY){ 
    double widthOfLabel = labelText.getWidth(); 
    return widthOfLabel; 
} 

使用它(我剪了聯合國=重要組成部分),但本應返回標籤的寬度。

如何在另一種方法中使用它?

private void getWidthofLabel(){ 
    double name = ????????? 
} 

我嘗試了一些不同的東西,但他們似乎都只是返回null。還有一件事,當我得到createLabel方法的返回值時,是否必須設置它的參數(string,int,int)?我不想那樣,但調試器似乎迫使我設置它們。

回答

1

如果你想獲得的createLabel的結果,你會需要這樣的東西:

double name = createLabel(text, locX, locY); 

將有提供的參數,否則你無法編譯代碼。如果你不需要他們,你可以不帶任何參數創建過載:

private double createLabel(){ 
     double widthOfLabel = labelText.getWidth(); 
     return widthOfLabel; 
} 

,但在這一點上我不知道發生了什麼事情在你的代碼。 :d

1

返回調用將像做:

double name = createLabel(text, locX, locY); 

,如果你這樣定義如下方法:

private double createLabel(String text, int locX, int locY){ 
} 

你需要傳遞一個String和兩個int。如果你想要一個你不需要傳遞參數的變體,超載像方法:

private double createLabel(){ 
} 

,你可以調用諸如:

double name = createLabel(); 
0

您需要調用的函數:

double name = createLabel(text,locX,lockY); 

,其中文本是一個字符串,locX並且lockY是整數。
除非有另一個具有相同名稱的函數(稱爲超載方法),否則不可能在沒有參數的情況下調用函數。

+0

具有相同名稱的功能,但不同的參數被稱爲_overload_,不_override_。 – Tudor

+0

sory,我沒有用英語學習它。 – LeeNeverGup

0

,你可以這樣調用

private void getWidthofLabel(){ 
    double name = createLabel("label", 3, 5); 
}