Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

Swing のTextFieldについて

皆さんお疲れ様です。

只今電卓の開発をJavaのSwingというもので
行っており、動作的にはほぼ完成したのですが、
問題が1つ解決出来ないので質問しに参りました。

第二引数が0で、除算を行った時に出る、
「0で割ることはできません」というメッセージを
数字を表示している画面に直接表示させたいのですが、
画面にその文を表示させようとすると、
文字が正確に表示出来ないのです。画面には「□」みたいな表示で出ており、コピーしてメモに貼り付けると正確に表示されます。ソースを載せますので、どなたか原因を教えて頂きたいです。お願いします。。。

----------ソース抜粋-----------

//swing パッケージのインポート
import javax.swing.*;
//awt パッケージのインポート
import java.awt.*;
import java.awt.event.*;
import java.math.BigDecimal;

public class APcalc {
 public static void main(String args[]) {
     new APcalc();
 }
 //JTextField のインスタンス化
 JTextField disp = new JTextField("0");
 //その他ボタン等のインスタンス化・・・
  ・
  ・
 public APcalc() {
  // ここからディスプレイの設定です
  //disp の位置を指定
  disp.setBounds(0, 0, 285, 27);
  // 色を指定
  disp.setBackground(new Color(255, 255, 255));
  // テキストの表示位置を右寄せにする
  disp.setHorizontalAlignment(JTextField.RIGHT);
  disp.setFont(new Font("Arial", Font.PLAIN, 20));
  // テキストフィールドを編集不可に設定
  disp.setEditable(false);
   ・
   ・
--------------ここまで------------------

このあと演算処理のクラスで、第二引数が0だった場合は

disp.setText("0で割る事はできません");

という処理を使っています。






4

回答

6836

閲覧

4件の回答

評価

0

ただの文字化けっぽいけど

評価

0

ご回答ありがとうございます。

文字化けですか・・・やはり何か設定が
足りていないのでしょうか?
それとも私の環境に問題があるのでしょうか?
(一応プログラムは正常に動く環境です)

自分でももう少し調べてみます。

評価

0

まずは
フォントを疑ってみて
正しければ
文字コードを疑う
この流れで絞り込むのよ。

評価

0

回答ありがとうございます。

フォントの種類がおかしかったようで、
別の物に変える事で回避出来ました。

アドバイス本当にありがとうございました。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。