前提・実現したいこと
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
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。