私は以下のコードで自動インクリメント番号を生成しています。自動インクリメントIDを生成する方法、およびプログラムを閉じてJavaで再び開くときにデフォルトに設定しないでください。
public class CoachRegForm extends javax.swing.JFrame {
/**
* Creates new form CoachRegForm
*/
private static int counter = 10000;
final private int coachId;
public CoachRegForm() {
initComponents();
coachId = counter++;
String staffIDInString=new Integer(coachId).toString();
CoachRegFormIDShowLab.setText(staffIDInString);
}
プログラムによって保存された最後の番号を運ぶために任意の方法がありますこれは、システム内で動作しますが、私はプログラムを終了して再度実行したとき、それは10000
でデフォルトに戻り私はプログラムを開く次回に?あなたはまた、将来的に(あなたのプログラムのONEマルチスレッドインスタンス内)同時実行の問題を防ぐためのAtomicIntegerを使用して検討するかもしれないhttp://www.vogella.com/tutorials/JavaPreferences/article.html :
あなたがプログラムを閉じた後、それ以外の場合は失われます、どこかでこのカウンタを永続化する必要がありますそれは一時的にメモリに保存され、プログラムを終了した後に消去されます。 – Simon
はい、@Simonが指摘しているように、そこにdbを保存したり、ファイルシステムを使ってカウンタを更新したりすることができます何度もプロパティファイルで –
あなたはjavaのシリアル化を使用することができますhttp://stackoverflow.com/questions/26251006/best-way-to-implement-save-and-restore-object-attribute-state – praveen