0

我是java新手,返回值如何工作?我需要返回 a 的宽度GLabel,以便在另一种方法中使用它

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

(我已经删除了 un=important 部分)但这应该返回标签的宽度。

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

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

我尝试了一些不同的东西,但它们似乎都只是 return null。当我得到方法的返回值时还有一件事createLabel,我必须设置它的参数(string,int,int)吗?我不想那样,但调试器似乎强迫我设置它们。

4

4 回答 4

1

如果你想得到你的结果,createLabel你将需要类似的东西:

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

必须提供参数,否则无法编译代码。如果你不需要它们,你可以创建一个不带参数的重载:

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

但此时我不确定您的代码中发生了什么。:D

于 2012-09-02T10:19:49.427 回答
1

返回调用将像这样完成:

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

如果您定义如下方法:

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

你需要通过 aString和 two int。如果您想要一个不需要传递参数的变体;重载方法,如:

private double createLabel(){
}

你可以这样称呼:

double name =  createLabel();
于 2012-09-02T10:21:02.430 回答
0

你可以这样打电话

private void  getWidthofLabel(){
   double name = createLabel("label", 3, 5);
}
于 2012-09-02T11:59:06.903 回答
0

您需要调用该函数:

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

其中 text 是一个字符串,locX 和 lockY 是整数。
没有参数就不可能调用一个函数,除非有另一个同名的函数(称为重载方法)。

于 2012-09-02T10:22:21.310 回答