我正在研究一個從用戶那裏得到像x^2 + t這樣的表達式的繪圖器,然後會詢問用戶x和t的範圍。 t在這裏是計時器變量。 所以在x^2 + t中,用戶例如將選擇-10到10代表x和1到5代表t。現在通過點擊GUI程序中的繪圖按鈕,代碼將開始繪製從最小t(這裏爲1)開始繪製表達式,並且在每秒(或任何時間段)之後將t值增加1並且用新t繪製表達式(2 ,3直到達到最大範圍)。 如何使事件處理程序來做到這一點?我找到了繪製多個圖形的方法,但是我無法將延遲從最小值延伸到最大值。 我知道我應該使用定時器,但我不知道如何在代碼圖形繪圖儀在java中的計時器
的Link,這部分用於整個代碼
這是應該改變的繪圖類代碼的一部分:
// Grapher
drawButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
String testSpring = null;
String tVarString = null;
for (int i = 0; i < 5; i++) {
testSpring = inputExpression;
tVarString = String.valueOf(i);
testSpring = testSpring.replaceAll("t", tVarString);
Equation equation = new Equation(testSpring);
graph.addEquation(equation);
}
}
catch (EquationSyntaxException e) {
e.printStackTrace();
}
}
});
這是節目的圖象:
我p只是通過點擊繪圖按鈕 來運行程序,但是如果這個計時器可能會影響JSlider ,所以t的最小值和最大值將是Jslider的最小值和最大值,並且通過點擊繪圖就可以開始繪圖了時間滑塊旋鈕將在價值點在t
看看[Swing Time r](http://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html) – MadProgrammer 2015-02-24 20:51:19
@MadProgrammer我已經做到了。我試過不同的方法來實現計時器,但它已經失敗 你能更具體地說明如何改變這個嗎? – Vicarious 2015-02-24 20:52:59
請記住,一個'Timer'只是一個僞循環 – MadProgrammer 2015-02-24 21:12:33