我的回答不會解決問題。它會迴應以前的答案。首先,我沒有在NetBeans中的變量面板中看到$符號。似乎它被當前版本中的上下文菜單取代。
在「變量格式化程序」對話框中,我還沒有找到實際問題的答案,至於如何引用要調試的變量。像「這個」或「$ 1」這樣的東西不能正常工作。此外,該設施似乎並不瞭解像SimpleDateFormatter這樣的標準Java JRE類。
所以當調試Java JRE類時,我想你必須忍受他們提供的公共方法。
如果您遇到JDK低於版本8(和我一樣)的情況,那麼對於特別用戶友好的Date類,下面是一個解決方法。通過
Tools > Options > Java > Variable Formatters > Add
然後在「類類型」就在NetBeans中創建一個新的變量格式化EditField中輸入:
java.util.Date
在「數值格式爲代碼片段的結果」使用的下一個片段之一。
// German format - "dd.MM.yyyy hh:mm"
((getDate() < 10) ? ("0" + getDate()) : getDate()) + "." + ((getMonth() < 9) ? ("0" + (getMonth() + 1)) : (getMonth() + 1)) + "." + (getYear() + 1900) + " " + ((getHours() < 10) ? "0" + getHours() : getHours()) + ":" + ((getMinutes() < 10) ? "0" + getMinutes() : getMinutes()) + ":" + ((getSeconds() < 10) ? "0" + getSeconds() : getSeconds())
// US format - "MM/dd/yyyy hh:mm"
((getMonth() < 9) ? ("0" + (getMonth() + 1)) : (getMonth() + 1)) + "/" + ((getDate() < 10) ? ("0" + getDate()) : getDate()) + "/" + (getYear() + 1900) + " " + ((getHours() < 10) ? "0" + getHours() : getHours()) + ":" + ((getMinutes() < 10) ? "0" + getMinutes() : getMinutes()) + ":" + ((getSeconds() < 10) ? "0" + getSeconds() : getSeconds())
// ISO-8601 - "yyyy-MM-dd hh:mm"
(getYear() + 1900) + "-" + ((getMonth() < 9) ? ("0" + (getMonth() + 1)) : (getMonth() + 1)) + "-" + ((getDate() < 10) ? ("0" + getDate()) : getDate()) + " " + ((getHours() < 10) ? ("0" + getHours()) : getHours()) + ":" + ((getMinutes() < 10) ? ("0" + getMinutes()) : getMinutes()) + ":" + ((getSeconds() < 10) ? ("0" + getSeconds()) : getSeconds())
下一個片段也可以派上用場,當你在java.util.Calendar中的一個實例的調試輸出矯枉過正丟失:
// German format - "dd.MM.yyyy hh:mm"
((get(5) < 10) ? ("0" + get(5)) : get(5)) + "." + ((get(2) < 9) ? ("0" + (get(2) + 1)) : (get(2) + 1)) + "." + (get(1)) + " " + ((get(10) < 10) ? "0" + get(10) : get(10)) + ":" + ((get(12) < 10) ? "0" + get(12) : get(12)) + ":" + ((get(13) < 10) ? "0" + get(13) : get(13))
如何在赫克我錯過了這!必須意外關閉它。謝謝!是否可以將該變量作爲參數傳遞給對話框中的某個方法(它負責格式化)?它是否有一些默認名稱? – AtliB
對不起,我想知道,但我不知道。 –