質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

ウィンドウ

コンピューター用語において、ウィンドウとはユーザとプログラムのやり取りを可能にするGUIの枠組みのことをいいます。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Q&A

解決済

1回答

1399閲覧

ウィンドウに表示される文字の色を一部変更

beginner11111

総合スコア1

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

ウィンドウ

コンピューター用語において、ウィンドウとはユーザとプログラムのやり取りを可能にするGUIの枠組みのことをいいます。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

0グッド

0クリップ

投稿2020/11/11 15:30

前提・実現したいこと

javaで寺や神社を紹介する対話的アプリケーションを作成しています。
その中で、ウィンドウ上で「ドラッグすると黒く塗った都道府県のものが上から順に表示されます」と表示させます。
この分の「黒く塗った都道府県」の部分だけ黒色にしたいです。他はオレンジ色にしたいです。
コードのどの部分をどのように変更すればいいですか?

該当のソースコード

java

1 2 3 4import java.awt.*; 5import java.awt.event.*; 6import java.applet.AudioClip; 7import javax.swing.JApplet; 8 9public class Project2020_2a extends Frame { 10 11 12 int Mx = 0, My = 0; 13 14 15 Graphics g; 16 17 Graphics2D g2; 18 19 Frame myFrame; 20 Image img[],im; 21 22 AudioClip ac[]; 23 24 Button bt1; 25 26 int m = 0; 27 28 29 public static void main(String[] args) { 30 31 Project2020_2a pj = new Project2020_2a(); // ③へ 32 } 33 34 35 public Project2020_2a() { 36 37 super("Project2020 ProKisoB"); 38 39 40 myFrame = this; 41 42 g2 = (Graphics2D) g; 43 44 45 setBackground(new Color(165, 230, 230)); 46 47 Toolkit tk = getToolkit(); 48 49 im = tk.getImage("src/images/T0.GIF"); 50 51 52 img = new Image[8]; 53 for (int i = 1; i < 8; i++) { 54 img[i] = tk.getImage("src/images/T" + i + ".GIF"); 55 } 56 57 58 int numSounds = 4; 59 ac = new AudioClip[numSounds]; 60 61 for (int i = 0; i < numSounds; i++) { 62 ac[i] = JApplet.newAudioClip(getClass().getClassLoader().getResource("sounds/ss"+i+".wav")); 63 } 64 65 bt1 = new Button("<消去ボタン>"); 66 67 this.setLayout(new BorderLayout()); 68 69 this.add(bt1, BorderLayout.NORTH); 70 71 bt1.addActionListener(new ActionListener() { 72 public void actionPerformed(ActionEvent ae) { 73 74 repaint(); 75 76 ac[3].play(); 77 } 78 }); 79 80 81 this.addMouseListener( 82 new MouseAdapter() { 83 84 public void mouseClicked(MouseEvent e) { 85 System.out.println("(1)クリックされました..."); 86 Graphics g = myFrame.getGraphics(); 87 m++; 88 m = (m > 9) ? 0 : m; 89 g.drawImage(img[m], e.getX(), e.getY(), myFrame); 90 } 91 92 93 public void mouseEntered(MouseEvent e) { 94 System.out.println("(2)画面に入りました..."); 95 ac[0].play(); 96 } 97 98 99 public void mouseExited(MouseEvent e) { 100 System.out.println("(3)画面から出ました..."); 101 } 102 103 104 public void mousePressed(MouseEvent e) { 105 System.out.println("(4)ボタンが押されました..."); 106 ac[1].play(); 107 } 108 109 110 public void mouseReleased(MouseEvent e) { 111 System.out.println("(5)ボタンが放されました..."); 112 } 113 }); 114 115 116 this.addMouseMotionListener( 117 new MouseMotionAdapter() { 118 119 @Override 120 public void mouseDragged(MouseEvent e) { 121 System.out.println("(6)マウスドラッグ中です..."); 122 123 Graphics g = myFrame.getGraphics(); 124 m++; 125 m = (m > 9) ? 0 : m; 126 g.drawImage(img[m], e.getX(), e.getY(), myFrame); 127 } 128 129 130 @Override 131 public void mouseMoved(MouseEvent e) { 132 System.out.println("(7)マウス移動中です..."); 133 } 134 }); 135 136 137 addWindowListener(new SampleWindowListner()); 138 setSize(600, 600); 139 140 setVisible(true); 141 142 } 143 144 145 public void paint(Graphics g) { 146 this.g = g; 147 148 149 Font f = new Font("TimesRoman", Font.BOLD, 12); 150 151 g.setFont(f); 152 g.setColor(Color.BLUE); 153 g.drawString("== プログラミング基礎演習B 最終プロジェクト課題 2020 ==", 50, 50); 154 g.setColor(new Color(200, 200, 100)); 155 g.drawString("ドラッグすると黒く塗った都道府県のものが上から順に表示されます", 50, 80); 156 157 g.drawImage(im, 100, 100, this); 158 } 159 160 161 class SampleWindowListner extends WindowAdapter { 162 163 public void windowClosing(WindowEvent e) { 164 165 System.exit(0); 166 } 167 } 168 169} 170

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

フォントによるとは思いますが文章が日本語のみなら、全角空白で大概は位置合わせできると思います。

Java

1g.setColor(Color.BLACK); 2g.drawString("       黒く塗った都道府県", 50, 80); 3g.setColor(new Color(200, 200, 100)); 4g.drawString("ドラッグすると         のものが上から順に表示されます", 50, 80);

ずれてしまう場合は「ドラッグすると」・「黒く塗った都道府県」・「のものが上から順に表示されます」の3つにわけてdrawStringxを微調整ですかね?
もしくはLabelを3つ作ってボタンと同じようにフレームに追加するか。


Swingは使えずAWTでやらないといけない縛りなんでしょうか?
Swingならnew JLabel("<html>黒<font color='red'>赤</font></html>")のように、色やスタイルも割といじりやすいのですが。

投稿2020/11/12 09:29

編集2023/08/12 15:37
TN8001

総合スコア9862

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問