質問編集履歴
4
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -1,122 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            2つのプログラムを別に作成しました。
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            1つ目はウィンドウに画像を表示し、マウスクリックでウィンドウ上に座標を出すプログラム。
         
     | 
| 
       4 
     | 
    
         
            -
            ```Java
         
     | 
| 
       5 
     | 
    
         
            -
            import javax.swing.*;
         
     | 
| 
       6 
     | 
    
         
            -
            import java.awt.Point;
         
     | 
| 
       7 
     | 
    
         
            -
            import java.awt.image.BufferedImage;
         
     | 
| 
       8 
     | 
    
         
            -
            import java.awt.Color;
         
     | 
| 
       9 
     | 
    
         
            -
            import java.awt.BorderLayout;
         
     | 
| 
       10 
     | 
    
         
            -
            import java.awt.event.*;
         
     | 
| 
       11 
     | 
    
         
            -
            import javax.swing.JFrame;
         
     | 
| 
       12 
     | 
    
         
            -
            import javax.swing.JPanel;
         
     | 
| 
       13 
     | 
    
         
            -
            import java.io.File;
         
     | 
| 
       14 
     | 
    
         
            -
            import java.io.IOException;
         
     | 
| 
       15 
     | 
    
         
            -
            import javax.imageio.ImageIO;
         
     | 
| 
       16 
     | 
    
         
            -
            import java.awt.Graphics;
         
     | 
| 
       17 
     | 
    
         
            -
            import java.awt.Graphics2D;
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
            public class JPointTest extends JFrame implements MouseListener{
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
            JLabel label;
         
     | 
| 
       22 
     | 
    
         
            -
            BufferedImage image = null;
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
            public static void main(String[] args){
         
     | 
| 
       25 
     | 
    
         
            -
            JPointTest frame = new JPointTest();
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         
     | 
| 
       28 
     | 
    
         
            -
            frame.setBounds(10, 10, 300, 200);
         
     | 
| 
       29 
     | 
    
         
            -
            frame.setTitle("タイトル");
         
     | 
| 
       30 
     | 
    
         
            -
            frame.setVisible(true);
         
     | 
| 
       31 
     | 
    
         
            -
            }
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
            JPointTest(){
         
     | 
| 
       34 
     | 
    
         
            -
            JPanel panel = new JPanel();
         
     | 
| 
       35 
     | 
    
         
            -
            panel.addMouseListener(this);
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
            try {
         
     | 
| 
       38 
     | 
    
         
            -
            image = ImageIO.read(new File("A01.jpg"));
         
     | 
| 
       39 
     | 
    
         
            -
            } catch (Exception e) {
         
     | 
| 
       40 
     | 
    
         
            -
            e.printStackTrace();
         
     | 
| 
       41 
     | 
    
         
            -
            image = null;
         
     | 
| 
       42 
     | 
    
         
            -
            }
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
            //System.out.println(new File("~/Desktop/A01.jpg").getAbsoluteFile());
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
            label = new JLabel("座標値");
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
            getContentPane().add(panel, BorderLayout.CENTER);
         
     | 
| 
       49 
     | 
    
         
            -
            getContentPane().add(label, BorderLayout.PAGE_END);
         
     | 
| 
       50 
     | 
    
         
            -
            }
         
     | 
| 
       51 
     | 
    
         
            -
            public void paint(Graphics g){
         
     | 
| 
       52 
     | 
    
         
            -
            g.drawImage(image, 0, 0, this);
         
     | 
| 
       53 
     | 
    
         
            -
            }
         
     | 
| 
       54 
     | 
    
         
            -
            public void mouseClicked(MouseEvent e){
         
     | 
| 
       55 
     | 
    
         
            -
            Point point = e.getPoint();
         
     | 
| 
       56 
     | 
    
         
            -
            label.setText("x:" + **__point.x__** + ",y:" + **__point.y__**);
         
     | 
| 
       57 
     | 
    
         
            -
            }
         
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
       59 
     | 
    
         
            -
            public void mouseEntered(MouseEvent e){}
         
     | 
| 
       60 
     | 
    
         
            -
            public void mouseExited(MouseEvent e){}
         
     | 
| 
       61 
     | 
    
         
            -
            public void mousePressed(MouseEvent e){}
         
     | 
| 
       62 
     | 
    
         
            -
            public void mouseReleased(MouseEvent e){}
         
     | 
| 
       63 
     | 
    
         
            -
             
     | 
| 
       64 
     | 
    
         
            -
            }
         
     | 
| 
       65 
     | 
    
         
            -
            ```
         
     | 
| 
       66 
     | 
    
         
            -
             
     | 
| 
       67 
     | 
    
         
            -
             
     | 
| 
      
 4 
     | 
    
         
            +
            二つ目はキーボードで入力した値で計算するプログラム。
         
     | 
| 
       68 
     | 
    
         
            -
            ```java
         
     | 
| 
       69 
     | 
    
         
            -
            import java.awt.Color;
         
     | 
| 
       70 
     | 
    
         
            -
            import java.awt.image.BufferedImage;
         
     | 
| 
       71 
     | 
    
         
            -
            import java.io.File;
         
     | 
| 
       72 
     | 
    
         
            -
            import java.io.IOException;
         
     | 
| 
       73 
     | 
    
         
            -
            import javax.imageio.ImageIO;
         
     | 
| 
       74 
     | 
    
         
            -
             
     | 
| 
       75 
     | 
    
         
            -
            public class Study {
         
     | 
| 
       76 
     | 
    
         
            -
             
     | 
| 
       77 
     | 
    
         
            -
              public static void main(String[] args) {
         
     | 
| 
       78 
     | 
    
         
            -
             
     | 
| 
       79 
     | 
    
         
            -
                String filename = "A";
         
     | 
| 
       80 
     | 
    
         
            -
                String imagename;
         
     | 
| 
       81 
     | 
    
         
            -
             
     | 
| 
       82 
     | 
    
         
            -
                try{
         
     | 
| 
       83 
     | 
    
         
            -
                  int **__xA**__=0__**__**;
         
     | 
| 
       84 
     | 
    
         
            -
                  int **__yA**__=0__**__**;
         
     | 
| 
       85 
     | 
    
         
            -
                  int NoA=0;
         
     | 
| 
       86 
     | 
    
         
            -
                  int xD=100;
         
     | 
| 
       87 
     | 
    
         
            -
                  int yD=100;
         
     | 
| 
       88 
     | 
    
         
            -
                  int NoD=20;
         
     | 
| 
       89 
     | 
    
         
            -
             
     | 
| 
       90 
     | 
    
         
            -
                  for (int i=NoA; i<=NoD; i++){
         
     | 
| 
       91 
     | 
    
         
            -
             
     | 
| 
       92 
     | 
    
         
            -
                    int X,Y;
         
     | 
| 
       93 
     | 
    
         
            -
                  	X=(xD-xA)*(i-NoA)/(NoD-NoA)+xA;
         
     | 
| 
       94 
     | 
    
         
            -
                  	Y=(yD-yA)*(i-NoA)/(NoD-NoA)+yA;
         
     | 
| 
       95 
     | 
    
         
            -
             
     | 
| 
       96 
     | 
    
         
            -
                    String str = String.valueOf(i);
         
     | 
| 
       97 
     | 
    
         
            -
                    imagename=filename+str+".jpg";
         
     | 
| 
       98 
     | 
    
         
            -
                    System.out.print(imagename);
         
     | 
| 
       99 
     | 
    
         
            -
                    System.out.print(":x="+X);
         
     | 
| 
       100 
     | 
    
         
            -
                    System.out.print(",y="+Y);
         
     | 
| 
       101 
     | 
    
         
            -
             
     | 
| 
       102 
     | 
    
         
            -
             
     | 
| 
       103 
     | 
    
         
            -
             
     | 
| 
      
 5 
     | 
    
         
            +
            これらを合わせて、マウスクリックで入力した座標で計算するプログラムを作りたかったのですが、エラーが出てしまい出来ません。
         
     | 
| 
       104 
     | 
    
         
            -
             
     | 
| 
       105 
     | 
    
         
            -
                      Color color = new Color (img.getRGB(X,Y));
         
     | 
| 
       106 
     | 
    
         
            -
             
     | 
| 
       107 
     | 
    
         
            -
             
     | 
| 
       108 
     | 
    
         
            -
             
     | 
| 
       109 
     | 
    
         
            -
                            int Green = color.getGreen();
         
     | 
| 
       110 
     | 
    
         
            -
                            System.out.print("緑:"+Green);
         
     | 
| 
       111 
     | 
    
         
            -
             
     | 
| 
       112 
     | 
    
         
            -
                }
         
     | 
| 
       113 
     | 
    
         
            -
             
     | 
| 
       114 
     | 
    
         
            -
                }catch(IOException e){
         
     | 
| 
       115 
     | 
    
         
            -
                e.printStackTrace();
         
     | 
| 
       116 
     | 
    
         
            -
               }
         
     | 
| 
       117 
     | 
    
         
            -
             }
         
     | 
| 
       118 
     | 
    
         
            -
            }
         
     | 
| 
       119 
     | 
    
         
            -
            ```
         
     | 
| 
       120 
     | 
    
         
            -
            1つ目のプログラムのpoint.xとpoint.yの値を(太字の部分)それぞれ2つ目のプログラムのxA,yAに入れて2つ目のプログラムの計算を行いたいのですが、うまく繋がりません。
         
     | 
| 
       121 
     | 
    
         
            -
            (要は2つ目のプラグラムの計算をマウスクリック入力で行いたいです。)
         
     | 
| 
       122 
     | 
    
         
            -
            2つは同じフォルダの中に入っています。
         
     | 
3
文章を訂正しました
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -119,6 +119,4 @@ 
     | 
|
| 
       119 
119 
     | 
    
         
             
            ```
         
     | 
| 
       120 
120 
     | 
    
         
             
            1つ目のプログラムのpoint.xとpoint.yの値を(太字の部分)それぞれ2つ目のプログラムのxA,yAに入れて2つ目のプログラムの計算を行いたいのですが、うまく繋がりません。
         
     | 
| 
       121 
121 
     | 
    
         
             
            (要は2つ目のプラグラムの計算をマウスクリック入力で行いたいです。)
         
     | 
| 
       122 
     | 
    
         
            -
            2つは同じフォルダの中に入っています。
         
     | 
| 
      
 122 
     | 
    
         
            +
            2つは同じフォルダの中に入っています。
         
     | 
| 
       123 
     | 
    
         
            -
             
     | 
| 
       124 
     | 
    
         
            -
            java初心者のためクラスの構造?などが理解できていないのかもしれません。お知恵をお借りできればと思います。
         
     | 
2
文章を訂正しました
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -119,6 +119,6 @@ 
     | 
|
| 
       119 
119 
     | 
    
         
             
            ```
         
     | 
| 
       120 
120 
     | 
    
         
             
            1つ目のプログラムのpoint.xとpoint.yの値を(太字の部分)それぞれ2つ目のプログラムのxA,yAに入れて2つ目のプログラムの計算を行いたいのですが、うまく繋がりません。
         
     | 
| 
       121 
121 
     | 
    
         
             
            (要は2つ目のプラグラムの計算をマウスクリック入力で行いたいです。)
         
     | 
| 
       122 
     | 
    
         
            -
            2つは同じフ 
     | 
| 
      
 122 
     | 
    
         
            +
            2つは同じフォルダの中に入っています。
         
     | 
| 
       123 
123 
     | 
    
         | 
| 
       124 
124 
     | 
    
         
             
            java初心者のためクラスの構造?などが理解できていないのかもしれません。お知恵をお借りできればと思います。
         
     | 
1
ソースコードを囲みました。
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -1,6 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            2つのプログラムを別に作成しました。
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            1つ目はウィンドウに画像を表示し、マウスクリックでウィンドウ上に座標を出すプログラム。
         
     | 
| 
      
 4 
     | 
    
         
            +
            ```Java
         
     | 
| 
       4 
5 
     | 
    
         
             
            import javax.swing.*;
         
     | 
| 
       5 
6 
     | 
    
         
             
            import java.awt.Point;
         
     | 
| 
       6 
7 
     | 
    
         
             
            import java.awt.image.BufferedImage;
         
     | 
| 
         @@ -61,8 +62,10 @@ 
     | 
|
| 
       61 
62 
     | 
    
         
             
            public void mouseReleased(MouseEvent e){}
         
     | 
| 
       62 
63 
     | 
    
         | 
| 
       63 
64 
     | 
    
         
             
            }
         
     | 
| 
      
 65 
     | 
    
         
            +
            ```
         
     | 
| 
       64 
66 
     | 
    
         | 
| 
       65 
67 
     | 
    
         
             
            2つ目は、ファイルの中にある画像の座標を計算→その座標の色味を表示するプログラムです。
         
     | 
| 
      
 68 
     | 
    
         
            +
            ```java
         
     | 
| 
       66 
69 
     | 
    
         
             
            import java.awt.Color;
         
     | 
| 
       67 
70 
     | 
    
         
             
            import java.awt.image.BufferedImage;
         
     | 
| 
       68 
71 
     | 
    
         
             
            import java.io.File;
         
     | 
| 
         @@ -113,7 +116,7 @@ 
     | 
|
| 
       113 
116 
     | 
    
         
             
               }
         
     | 
| 
       114 
117 
     | 
    
         
             
             }
         
     | 
| 
       115 
118 
     | 
    
         
             
            }
         
     | 
| 
       116 
     | 
    
         
            -
             
     | 
| 
      
 119 
     | 
    
         
            +
            ```
         
     | 
| 
       117 
120 
     | 
    
         
             
            1つ目のプログラムのpoint.xとpoint.yの値を(太字の部分)それぞれ2つ目のプログラムのxA,yAに入れて2つ目のプログラムの計算を行いたいのですが、うまく繋がりません。
         
     | 
| 
       118 
121 
     | 
    
         
             
            (要は2つ目のプラグラムの計算をマウスクリック入力で行いたいです。)
         
     | 
| 
       119 
122 
     | 
    
         
             
            2つは同じファイルの中に入っています。
         
     |