Java: How to reset ein JFrame?

setVisible-Methode derzeit verwenden, um den Neustart der Methoden, aber der übergang sieht ein blinken, gibt es einen Befehl, andere als die setVisible-Methode? lassen Sie es in Ihrem ursprünglichen Zustand. reset-Taste auf der letzten Frame_1, nur um zum ursprünglichen Zustand zurückzukehren.

   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);
        }

     }
  • Was wollen Sie erreichen? Starten Sie die Anwendung neu?
  • starten Sie ein JFrame enthält eine textarea, button, berechnet einen Zeitraum von Zeit, zeige ich diesen code, ich arbeite, gibt es einige andere code neu starten, den Rahmen mit seinen Methoden?
  • Übergang zu was? Einen neuen Rahmen? Vielleicht können Sie nur anzeigen, Objekte auf einem JPanel und tauschen die um?
  • Und definieren Sie "restart". Wenn alles, was Sie wollen zu tun ist, um Ihre Komponenten in Ihrem ursprünglichen Zustand, dann vielleicht alles, was Sie brauchen, um zu löschen Sie alle text-Komponenten. Nochmal, der Klarheit der Frage ist der Schlüssel.
  • ja, zeigen Sie das gleiche Bild mit dem reset-Methoden (initial state)
  • Bitte Bearbeiten Sie Ihre post und auch einige Anwendungs-code. Mehr als nur ein Teil Ihrer Zuhörer.
  • "yes, show the same frame with reset methods (initial state)" -- ja, dann sind Sie richtig kommen Sie hier mit Ihrer Frage, weil Sie Ihren Weg, dies zu tun, ist definitiv falsch, aber um zu helfen, Sie besser, wir sollten wissen mehr über Ihre GUI, auch mehr code und vielleicht auch ein Bild oder Bilder von dem, was Sie zu erreichen versuchen. Wenn Sie Ihre Bilder hochladen irgendwo und geben Sie uns den direkten link zu dem Bild, wir können helfen, legen Sie Sie in Ihre Frage.

InformationsquelleAutor DANIELBMZ | 2014-09-19
Schreibe einen Kommentar