我正在努力从一个方法(我创建我的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
答案 0 :(得分:1)
这些方法是否属于同一类?如果是这样,为什么不在方法之外声明变量?这样他们的范围涵盖所有方法。如果没有,您可以为每个变量创建getter / setter。
答案 1 :(得分:0)
这是一个设计问题:
包含方法createFields
和customKeyEvent
的对象必须在这些方法之间交换一些值。
然后,您可以创建一个createFields
返回的结构(类),其中包含您创建的字段和值customKeyEvent
所需的值。
或者,您可以外部化值并创建类型的属性。在调用createFields
期间,设置属性值,之后,您可以从customKeyEvent获取它。但请注意可能的多线程访问:为您的问题选择属性的良好可访问性。
我认为第二种选择是最好的;这些解决方案尊重createFields
方法名称建议的角色。
了解design patterns可能是一种很好的做法。这是基本设计问题解决的一些经典。
它仍然每天帮助我。