>>92
どうしても判らないのであれば、以下の修正でそれっぽく動くはず。
演算子ボタンクリック、演算子フラグセット、計算の順を見直して
if(e.getSource()==sub){ calflag=2; cal(); }
一つ前の演算子フラグのママ計算し、クリックされた演算子のフラグをセットの順にする。
if(e.getSource()==sub){ cal(); calflag=2; }