▼質問
日付を表示するダイアログ内でCalendarクラスをaddしたんだけど次のエラーが出るんだ!?
Calendar calendar = Calendar.getInstance();
calendar = (Calendar)パラメータでもらったCalendarオブジェクト変数.clone();
calendar.add( Calendar.DATE, 1 );
java.lang.NullPointerException
at java.util.GregorianCalendar.getCurrentFixedDate(Unknown Source)
at java.util.GregorianCalendar.add(Unknown Source)
▼回答
時刻に変更したら回避できた?!なぜ?
calendar.add( Calendar.HOUR_OF_DAY, 24 );
▼質問
1970/01/01 00:00:00 からの通算秒をカレンダーオブジェクトに変換するにはどうするの?
▼回答
下記のようにすれば1970/01/01 00:00:00からの通算秒が設定できる。
Calendar calendar = Calendar.getInstance( TimeZone.getTimeZone( "JST" ) );
calendar.set( Calendar.YEAR, 1970 );
calendar.set( Calendar.MONTH, 0 );
calendar.set( Calendar.DATE, 1 );
calendar.set( Calendar.HOUR_OF_DAY, 0 );
calendar.set( Calendar.MINUTE, 0 );
calendar.set( Calendar.SECOND, 0 );
calendar.set( Calendar.MILLISECOND, 0 );
calendar.add( Calendar.SECOND, 通算秒 );
又は、
Calendar calendar = Calendar.getInstance( TimeZone.getTimeZone( "JST" ) );
calendar.setTimeInMillis( 0 );
calendar.add( Calendar.SECOND, 通算秒 );
▼質問
クラス間でメソッドのパラメータにクラスオブジェクト渡しているんだけど、そのオブジェクトが
完全な独立した形でコピーされないんだ?どうしたらいいの?!
▼回答
cloneメソッドを実装しなくてはいけないようだ!?
複写の方法にも2つの方法があるようだ。
1.シャローコピー(shallow copy)変数共有系?
2.ディープコピー(deep copy)完全独立系?
・・・・
■参考サイト
オブジェクトの複写
http://www.asahi-net.or.jp/~DP8T-ASM/java/tips/ObjectCopy.html
■キーイベント
JFormattedTextField textField = new JFormattedTextField();
textField.addKeyListener( new java.awt.event.KeyAdapter() {
public void keyTyped( java.awt.event.KeyEvent evt ) {
// キーが入力された時の処理
JFormattedTextField tf = (JFormattedTextField)evt.getComponent();
System.out.println( tf.getText() );
}
});
JFormattedTextField textField = new JFormattedTextField();
textField.addKeyListener( new java.awt.event.KeyAdapter() {
public void keyReleased( java.awt.event.KeyEvent evt ) {
// キーが放された時の処理
JFormattedTextField tf = (JFormattedTextField)evt.getComponent();
System.out.println( tf.getText() );
}
});
■フォーカスイベント
JFormattedTextField textField = new JFormattedTextField();
textField.addFocusListener( new java.awt.event.FocusAdapter() {
public void focusLost( java.awt.event.FocusEvent evt ) {
// フォーカスを失った時の処理
JFormattedTextField tf = (JFormattedTextField)evt.getComponent();
System.out.println( tf.getText() );
}
});