Java-将方法中的变量转换为其他方法

时间:2017-03-30 08:16:02

标签: java variables methods

我正在努力从一个方法(我创建我的GUI字段的方法)中获取变量(所有种类:数组,字符串,整数)到另一个方法(我管理我的按键事件的方法)我设法得到字段,通过他们的名字,但我不知道如何得到一些变量。

示例:在Field Method中我得到了这个部分: 我管理我的时间并将其放入输入字段(其余部分已删除)

DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Calendar today = Calendar.getInstance();
today.clear(Calendar.HOUR); today.clear(Calendar.MINUTE); today.clear(Calendar.SECOND);
Date todayDate = today.getTime();
long todayDateUnix = Instant.now().getEpochSecond();;
String reportDate = df.format(todayDate);   
String CustomDate = "meinDatum";
String[] parts = reportDate.split("/");
String DateDay = parts[0];
String DateMonth = parts[1];
String DateYear = parts[2];


JTextField input_day =new JTextField(DateDay);
//  input_day.setFocusTraversalKeysEnabled(false);  
input_day.setName("input_day");
input_day.setBounds(102, 37, 25, 20);
input_day.setColumns(10);

在另一种方法中我需要这些变量:

input_datum.setText(reportDate);
if(check_datum.isSelected()){
    CustomDateFinal[0] = datumvar;
    input_datum.setText(CustomDateFinal[0]);

}   

不关心他人,但我怎么得到“reportDate”? 在此先感谢:)

编辑: 我想要从“createFields”到“customKeyevent”的变量 PICTURE

2 个答案:

答案 0 :(得分:1)

这些方法是否属于同一类?如果是这样,为什么不在方法之外声明变量?这样他们的范围涵盖所有方法。如果没有,您可以为每个变量创建getter / setter。

答案 1 :(得分:0)

这是一个设计问题: 包含方法createFieldscustomKeyEvent的对象必须在这些方法之间交换一些值。

然后,您可以创建一个createFields返回的结构(类),其中包含您创建的字段和值customKeyEvent所需的值。 或者,您可以外部化值并创建类型的属性。在调用createFields期间,设置属性值,之后,您可以从customKeyEvent获取它。但请注意可能的多线程访问:为您的问题选择属性的良好可访问性。

我认为第二种选择是最好的;这些解决方案尊重createFields方法名称建议的角色。

了解design patterns可能是一种很好的做法。这是基本设计问题解决的一些经典。

它仍然每天帮助我。