-1
setVisible當前用於重新啓動方法,但轉換閃爍,除setVisible之外是否還有其他任何指令?使其處於初始狀態。只有最後一個Frame_1上的復位按鈕才能返回到初始狀態。Java:如何重置JFrame?
public class frame_1 extends javax.swing.JFrame {
private void btnfinishActionPerformed(java.awt.event.ActionEvent evt) {
Period total = new Period(0, totalDuration, PeriodType.yearMonthDay());
txta.append("________________________________________________" + "\n");
txta.append("Duracion total: " + total.getYears() + " years " + total.getMonths() + " Months " + total.getDays() + " Days " + "\n");
txtini.setText(null);
txtfin.setText(null);
}
private void btnaddActionPerformed(java.awt.event.ActionEvent evt) {
period();
txtini.setText(null);
String fu = principio.txtingresa.getText();
txtfin.setText(fu);
}
public void period(){
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String startDate = txtini.getText();
String endDate = txtfin.getText();
Date start = null;
Date end = null;
try {
start = sdf.parse(startDate);
end = sdf.parse(endDate);
} catch (ParseException ex) {
Logger.getLogger(fecha_1.class.getName()).log(Level.SEVERE, null, ex);
}
if(end.getTime() < start.getTime()){
JOptionPane.showMessageDialog(null, "the date finish y higher.!");
txtini.setText(null);
txtfin.setText(null);
}else{
long duration = end.getTime() - start.getTime();
Period period = new Period(0, duration, PeriodType.yearMonthDay());
txta.append(startDate + " - "+ endDate + " = " + period.getYears()+ " years " + period.getMonths() + " Months " + period.getDays() + " Days " + "\n");
totalDuration += duration;
}
txtini.requestFocusInWindow();
}
private void btnrestartActionPerformed(java.awt.event.ActionEvent evt) {
frame_1 obj1 = new frame_1();
obj1.setVisible(false);
obj1.setVisible(true);
}
}
你到底想達到什麼目的?重新啓動應用程序? – aioobe 2014-09-19 14:27:26
重新啓動一個JFrame,包含一個textarea,按鈕,計算一段時間,我顯示這個代碼,我工作,還有一些其他代碼重新啓動框架與他的方法? – DANIELBMZ 2014-09-19 14:30:59
轉換成什麼?一個新的框架?也許你可以在JPanel上顯示項目並交換這些內容? – MarGar 2014-09-19 14:33:03