毎回違った長さの文字列を取得して、TextAreaを使わず画面上に表示するプログラムを作ってるんですが、
画面の右端近くに来たときに自動的に改行されるようにしたいです。

文字列には全、半英数、全かな、半カナ等々入り混じっています。
全かなの文字数で改行条件を作ると、半角文字が混じった場合右にまだ余裕がある状態で改行されてしまいます。
そこで
moji_byte = str.getBytes( "Shift_JIS").length;
を使って文字列のバイト数を割り出すという方法を知ったんですが、
1バイトを0.5文字として扱って・・・等々いろいろ試しましたがだめでした・・・。

これをどう使えば、半角と全角が混じった状態でも改行の位置が丁度よくなるでしょうか、教えてください。