« 箱のイメージ 画像貼り付け コンピューター・グラフィックス 動画制作 Java と OpenCV3 を使って | トップページ | プログラム 制作 複数 の 断面図画像 を与えて 3次元 立体 表示 Java OpenCV3 を使って »

2018年12月 7日 (金)

Java プログラム 制作 関数(数学の)形を表示する

コンピューター・プログラム 制作 インデックス

関数(数学の)形を表示する、というコンピューター・プログラムを制作しました、Java言語で。

以下に、その様を記述しますが、その記述内容は、このようなコンピューター・プログラムを制作した、それを動かしたら、このような結果になった、というような事を、ただ、淡々と述べているに過ぎません。

下記の記述をお読みになった方が、それを単に参考にする、というのであれば、問題は無いと思われます。

しかし、記述されている内容に沿って、その方がそこに記されているのと同様の制作や作業を行われた際に、その制作や作業の結果、使用されたコンピューター等、様々な方面において、何らかの問題が発生しない、という保証は、全くありません。

その作業の結果、その方や、その方が使用された様々な器機、インフラ等の身の上にどのような事が起ころうとも、私は一切、責任を負いません。

------------
1 できたもの

制作作業の結果、できたのが、下記のようなコンピューター・プログラムです。

起動すると、下記のような2つの画面が、コンピューターのディスプレイ上に表示されます。

Fig1

Fig1

これは、

 y = sin ( π × ( x / 6 ) )

という関数の、x と y の値を、プロットしたものです。

このコンピューター・プログラム中のある場所(後で詳しく述べます)に、Java言語で下記のように記述が行われているので、このように、その関数の形が表示されているのです。

       double y_value
             = Math.sin ( Math.PI * ( para_x_value / 6.0 ) ) ;

[For Data Input] 画面は、プログラムに対する操作の指示や、データ入力を行うためのものです。ここから様々な値を入力することにより、表示される関数の形を変えることができます。

例えば、下図のように、[ To X ]の値を変えることにより、関数の値が表示されるx値の範囲を変更することができます。

Fig2

Fig2

更に、下図のように、[ Interval X ]の値を変えることにより、関数の値が表示されるx値を、更にきめ細かく設定することができます。

Fig3

Fig3

表示対象となる関数の定義式を書いておく場所は、プログラム中の、下記の場所です:

  (このプログラムのソースリストが、後の方にあります)

Procc.java ファイル中の
 Procc クラス の記述の中の
  defined_function メソッドの記述

そこに、下記のように書いておいたのです。

//=================================
//defined_function
//=================================
    private double defined_function ( double para_x_value ) {

//***************************************************
       double y_value
             = Math.sin ( Math.PI * ( para_x_value / 6.0 ) ) ;
//***************************************************

        return y_value ;
     }

この部分を、下記のように書き直してみました。関数の定義を書き直したのです。

//=================================
//defined_function
//=================================
    private double defined_function ( double para_x_value ) {

//***************************************************
        double y_value
              = 0.3 * Math.sin ( Math.PI * ( para_x_value / 6.0 ) )
                 +
                 0.7 * Math.sin ( Math.PI * ( para_x_value / 3.0 ) )
                 ;
//***************************************************

        return y_value ;
     }

書き直しを行った後のプログラムを起動すると、下記のようになりました。

Fig4

Fig4

更に、この部分を、下記のように書き直してみました。関数の定義を書き直したのです。

//=================================
//defined_function
//=================================
    private double defined_function ( double para_x_value ) {

//***************************************************
        double y_value = 0.0 ;

        if ( para_x_value <= 8.0 ) {
            y_value = para_x_value * para_x_value ;      
          }
        else {
            y_value = 64.0 + ( para_x_value - 8.0 ) * 0.5 ;      
          }
//***************************************************

        return y_value ;
     }

書き直しを行った後のプログラムを起動すると、下記のようになりました。

Fig5

Fig5

------------
2 使用したコンピューターとソフトウェア

この、コンピューター・プログラムを制作・実行するために使用したものは、下記の通りです。

コンピューター

 CPU : Core(TM) i7-7700HQ
 メモリー : 16 GB
 Operating System : Windows 10 Home, 64ビットオペレーティングシステム

Java

 jdk-8u181-windows-x64.exe

------------
3 ソースリスト

このコンピューター・プログラムのソースリストを、以下に記します。

複数個のファイルに分割して記述しました。

==============================
Test3.java
----------------------
public class Test3 {

  private static String cv_this_Class_name = "Test3" ;

  public static void main ( String[] args ) {

    String this_methode_name = "main" ;

    System.out.println ( "----------------------------------" ) ;
    System.out.println ( "Enter into Class = " + cv_this_Class_name +
                      " : methode = " + this_methode_name ) ;

                  //initialize value
    Bridge.cv_From_X = 0.0 ;
    Bridge.cv_To_X = 20.0 ;
    Bridge.cv_Interval_X = 0.2 ;
    Bridge.cv_Magnification_X = 1.0 ;
    Bridge.cv_Magnification_Y = 1.0 ;
    Bridge.cv_Length_Side_of_DrawingSquare = 8 ;

    Bridge.cv_Number_of_X_values_String = 6 ;
    Bridge.cv_Number_of_Y_values_String = 5 ;

                  //make instance of  data processing
    Procc ins_Procc
        = new Procc ( ) ;
                 //set the instance into Mediater class
    Mediater.set_Procc ( ins_Procc ) ;

                 //make instance for data input
    JFrameDataInput  ins_JFrameDataInput
                                      = new JFrameDataInput (
                                     //width of Frame
                              1500
                                     //height of Frame
                           ,  150
                                    //topLeft Location x of Frame
                           ,  1
                                    //topLeft Location y of Frame
                           ,  1
                                             ) ;
    ins_JFrameDataInput.setVisible ( true ) ;
                //set the instance into Mediater class
    Mediater.set_JFrameDataInput ( ins_JFrameDataInput ) ;

                //make instance for display
    JFrameDisplay ins_JFrameDisplay
                = new JFrameDisplay (
                                   //title of frame
                                     "For Display"
                                  //width of Frame
                                      ,  1500
                                  //height of Frame
                                     ,  900
                                  //topLeft Location x of Frame
                                     ,  1
                                  //topLeft Location y of Frame
                                     ,  144
                        ) ;
    ins_JFrameDisplay.setVisible ( true ) ;

                //set the instance into Mediater class
    Mediater.set_JFrameDisplay (
                    ins_JFrameDisplay
                                        ) ;

                //let Mediater to draw
    Mediater.draw_shape_of_function ( ) ;

    System.out.println ( "Exit from Class = " + cv_this_Class_name +
                      " : methode = " + this_methode_name ) ;
    System.out.println ( "----------------------------------" ) ;
  }

}

==============================
Bridge.java
----------------------
public class Bridge {

    public static double cv_From_X ;
    public static double cv_To_X ;
    public static double cv_Interval_X ;
    public static double cv_Magnification_X ;
    public static double cv_Magnification_Y ;
    public static int cv_Length_Side_of_DrawingSquare ;
    public static int cv_Number_of_X_values_String ;
    public static int cv_Number_of_Y_values_String ;
  }
==============================
Mediater.java
----------------------
//-------------------------------------------------
//Mediater
//-------------------------------------------------
class Mediater {   

  public static JFrameDataInput cv_ins_JFrameDataInput ;
  public static JFrameDisplay cv_ins_JFrameDisplay ;
  public static Procc cv_ins_Procc ;

//----------------------------------------
  public static void set_JFrameDataInput (
          JFrameDataInput para_ins_JFrameDataInput
                     ) {

     cv_ins_JFrameDataInput = para_ins_JFrameDataInput ;
    }
//----------------------------------------
  public static void set_JFrameDisplay (
           JFrameDisplay para_ins_JFrameDisplay
                   ) {

    cv_ins_JFrameDisplay
             = para_ins_JFrameDisplay ;
   }
//----------------------------------------
  public static void set_Procc  (
          Procc para_ins_Procc
                       ) {

     cv_ins_Procc = para_ins_Procc ;
   }

//-------------------------------------
  public static void draw_shape_of_function ( ) {

      cv_ins_Procc
                   .calculate_function_value ( ) ;

      cv_ins_JFrameDisplay
            .set_display_information (
                 cv_ins_Procc.get_array_X_values ()
              ,  cv_ins_Procc.get_array_Y_values ()
              ,  cv_ins_Procc.get_number_of_values ()
                    ) ;

      cv_ins_JFrameDisplay
                    .do_repaint ( ) ;
   }
}

==============================
Procc.java
----------------------
//==========================
// Procc
//==========================
public class Procc {

  private String cv_this_Class_name = "Procc" ;

  private double [ ] cv_array_X_values ;
  private double [ ] cv_array_Y_values ;
  private int cv_number_of_values ;

//----------------------------
   public double [ ] get_array_X_values () {
       return cv_array_X_values ;
    }
//----------------------------
   public double [ ] get_array_Y_values () {
       return cv_array_Y_values ;
    }
//---------------------------- 
   public int get_number_of_values () {
       return cv_number_of_values ;
    }

//=================================
//calculate  function value
//=================================
  public void calculate_function_value ( )  {

      String this_methode_name = "calculate_function_value" ;

      System.out.println ( "----------------------------------" ) ;
      System.out.println ( "Enter into Class = " + cv_this_Class_name +
                          " : methode = " + this_methode_name ) ;

      int w1 = ( int ) ( ( Bridge.cv_To_X - Bridge.cv_From_X )
                                           / Bridge.cv_Interval_X
                                  ) ;
      cv_number_of_values = w1 + 1 ;
      cv_array_X_values = null ;
      cv_array_X_values = new double [ cv_number_of_values ] ;
      cv_array_Y_values = null ;
      cv_array_Y_values = new double [ cv_number_of_values ] ;

      double x_value = Bridge.cv_From_X ;
      double y_value = 0.0 ;

       for ( int i = 0 ; i < cv_number_of_values ; i ++ ) {
          y_value = defined_function ( x_value ) ;
          cv_array_X_values [ i ] = x_value ;
          cv_array_Y_values [ i ] = y_value  ;
          x_value += Bridge.cv_Interval_X ;
        }

      System.out.println ( "Exit from Class = " + cv_this_Class_name +
                    " : methode = " + this_methode_name ) ;
      System.out.println ( "----------------------------------" ) ;
    }

//=================================
//defined_function
//=================================
    private double defined_function ( double para_x_value ) {

//***************************************************
       double y_value
             = Math.sin ( Math.PI * ( para_x_value / 6.0 ) ) ;
//***************************************************

        return y_value ;
     }

}

==============================
JFrameDisplay.java
----------------------
      import java.awt.Graphics ;
      import java.awt.image.BufferedImage ;
      import java.awt.Color ;

      import javax.swing.JFrame ;
      import javax.swing.JPanel ;

//-------------------------------------------------
//JFrame for Display
//-------------------------------------------------
class JFrameDisplay extends JFrame {

  private String cv_this_Class_name = " JFrameDisplay" ;

                //for display image
  private JPanelDisplay cv_ins_JPanelDisplay ;

  private int cv_width_of_Frame ;
  private int cv_height_of_Frame;
  private int cv_topLeftLocation_x_of_Frame ;
  private int cv_topLeftLocation_y_of_Frame ;

//======================
//Constructer
//======================   
  JFrameDisplay (
                    String para_title
                 ,  int para_width_of_Frame      
                , int para_height_of_Frame    
                , int para_topLeftLocation_x_of_Frame      
                , int para_topLeftLocation_y_of_Frame    
                                    ) {

    String this_methode_name = "constructer" ;

      System.out.println ( "----------------------------------" ) ;
    System.out.println ( "Enter into Class = " + cv_this_Class_name +
                                " : methode = " + this_methode_name ) ;

    cv_width_of_Frame = para_width_of_Frame ;
    cv_height_of_Frame = para_height_of_Frame ;
     cv_topLeftLocation_x_of_Frame
                        = para_topLeftLocation_x_of_Frame ;
    cv_topLeftLocation_y_of_Frame
                        = para_topLeftLocation_y_of_Frame ;

    setTitle ( para_title ) ;
    setBounds (
                 cv_topLeftLocation_x_of_Frame
                , cv_topLeftLocation_y_of_Frame            
                , cv_width_of_Frame
                , cv_height_of_Frame
                      ) ;
    setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE ) ;

     cv_ins_JPanelDisplay
                   = new JPanelDisplay ( )  ;
    add ( cv_ins_JPanelDisplay ) ;

    System.out.println ( "  ----------------------------------" ) ;
    System.out.println ( "Exit from Class = " + cv_this_Class_name +
                                    " : methode = " + this_methode_name ) ;
   }

//=================================
//  set_display_information
//=================================   
  public  void  set_display_information (
                            double [ ] para_array_X_values
                         ,  double [ ] para_array_Y_values
                         ,  int para_number_of_values
                                                        ) {

    cv_ins_JPanelDisplay
                        .set_display_information (
                                 para_array_X_values
                              ,  para_array_Y_values
                              ,  para_number_of_values
                              ,  cv_width_of_Frame
                              ,  cv_height_of_Frame
                                                          ) ;
   }

//=================================
//do_repaint
//=================================   
  public  void do_repaint ( ) {

    cv_ins_JPanelDisplay
                .do_repaint ( ) ;
   }

}

//---------------------------------------------------------------------
class JPanelDisplay extends JPanel {

  private String cv_this_Class_name = "JPanelDisplay" ;

         //for contain calculated values      
  private double [ ] cv_array_X_values ;
  private double [ ] cv_array_Y_values ;
  private int cv_number_of_values ;

  private int cv_width_of_Frame ;
  private int cv_height_of_Frame  ;

//=================================
// set_display_information
//=================================   
  public  void  set_display_information (
                        double [ ] para_array_X_values
                     ,  double [ ] para_array_Y_values
                     ,  int para_number_of_values
                     ,  int para_width_of_Frame
                       ,  int para_height_of_Frame
                                                    ) {

    String this_methode_name = "set_display_information" ;

    System.out.println ( "  ----------------------------------" ) ;
    System.out.println ( "Enter into Class = " + cv_this_Class_name +
                                       " : methode = " + this_methode_name ) ;

    cv_array_X_values = para_array_X_values ;
    cv_array_Y_values = para_array_Y_values ;
    cv_number_of_values = para_number_of_values ;
    cv_width_of_Frame = para_width_of_Frame ;
    cv_height_of_Frame = para_height_of_Frame ;

    System.out.println ( "  ----------------------------------" ) ;
    System.out.println ( "Exit from Class = " + cv_this_Class_name +
                                       " : methode = " + this_methode_name ) ;
   }

//=================================   
//do_repaint
//=================================    
  public void do_repaint ( ) {

    repaint ( ) ;
   }

//======================
//paint image
//======================
  public void paint ( Graphics para_ins_Graphics ) {

    PaintProcess.
               paint (
                          para_ins_Graphics
                        ,  cv_array_X_values
                          ,  cv_array_Y_values
                        ,  cv_number_of_values
                        ,  cv_width_of_Frame
                        ,  cv_height_of_Frame
                                                      ) ;

   }      
}

==============================
PaintProcess.java
----------------------
import java.awt.Graphics ;
import java.awt.Font ;
import java.awt.Color;

class PaintProcess {

  private static String cv_this_Class_name = "PaintProcess" ;

  private static Graphics cv_ins_Graphics ;
  private static int  cv_width_of_Frame  ;
   private static int  cv_height_of_Frame ;

   private static int  cv_width_of_drawingArea ;
   private static int  cv_height_of_drawingArea ;

   private static int cv_drawing_begin_x  ;
   private static int cv_drawing_begin_y  ;

   private static double cv_interval_X ;   
   private static double cv_interval_Y  ;

   private static double cv_Min_X ;   
   private static double cv_Max_X  ;         
   private static double cv_Min_Y ;   
   private static double cv_Max_Y  ;

    private static double cv_scale_X ;
    private static double cv_scale_Y ;

//======================
//paint
//======================
    public static void paint (
                   Graphics para_ins_Graphics
                ,  double [ ] para_array_X_values
                ,  double [ ] para_array_Y_values
                ,  int para_number_of_values
                ,  int para_width_of_Frame
                ,  int para_height_of_Frame
               ) {

    String this_methode_name = "paint" ;

    System.out.println ( "----------------------------------" ) ;
    System.out.println ( "Enter into Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;

    decide_Min_and_Max (
                    para_array_X_values
                  , para_array_Y_values
                  , para_number_of_values
                                             ) ;

    cv_width_of_Frame = para_width_of_Frame ;
    cv_width_of_drawingArea
            = ( int ) ( ( cv_width_of_Frame - 100 )
                                        * Bridge.cv_Magnification_X ) ;
    cv_height_of_Frame = para_height_of_Frame ;
    cv_height_of_drawingArea
            = ( int ) ( ( cv_height_of_Frame - 100 )
                                        * Bridge.cv_Magnification_Y ) ;

    cv_drawing_begin_x = 300 ;
    cv_drawing_begin_y  = 200 ;

    cv_scale_X
          = ( (double)( cv_width_of_drawingArea - cv_drawing_begin_x ) )
                                             / (  cv_Max_X - cv_Min_X )
                                             ;
    double very_small_value = 0.00000001 ;
    if ( (  cv_Max_Y - cv_Min_Y ) < very_small_value ) {
        cv_scale_Y
            = ( (double)( cv_height_of_drawingArea - cv_drawing_begin_y ) )
                        / very_small_value
                        ;               
      }
    else {
        cv_scale_Y = ( (double)( cv_height_of_drawingArea - cv_drawing_begin_y ) )
                        / (  cv_Max_Y - cv_Min_Y )
                        ;
      }

    System.out.println ( "cv_Min_X = " + cv_Min_X ) ;
    System.out.println ( "cv_Max_X = " + cv_Max_X ) ;
    System.out.println ( "cv_Min_Y = " + cv_Min_Y ) ;
    System.out.println ( "cv_Max_Y = " + cv_Max_Y ) ;
    System.out.println ( "cv_scale_X = " + cv_scale_X ) ;
    System.out.println ( "cv_scale_Y = " + cv_scale_Y ) ;

    cv_ins_Graphics = para_ins_Graphics ;

                                         //draw background       
    Color ins_Color_BG
               = new Color ( 255 , 255 , 255 ) ;
    cv_ins_Graphics
                          .setColor ( ins_Color_BG ) ;
    cv_ins_Graphics
                     .fillRect (
                                 0 , 0
                               , cv_width_of_Frame  ,  cv_height_of_Frame
                                    ) ;

                                   //draw function value
    Color ins_Color_1
                   = new Color ( 200 , 0 , 0 ) ;

     draw_X_and_Y_location (
                                 para_array_X_values
                               , para_array_Y_values
                               , para_number_of_values
                                                     ) ;

     draw_values ( 'X' ) ;
     draw_values ( 'Y' ) ;

     System.out.println ( "  ----------------------------------" ) ;
     System.out.println ( "Exit from Class = " + cv_this_Class_name +
                                            " : methode = " + this_methode_name ) ;
    }   
//------------------------------------      
  private static void draw_X_and_Y_location (
               double [ ] para_array_X_values
             , double [ ] para_array_Y_values
             , int para_number_of_values
                                      ) {

    Color ins_Color_1
                           = new Color ( 200 , 0 , 0 ) ;
    cv_ins_Graphics
                         .setColor ( ins_Color_1 ) ;

    int [ ] paint_location = new int [ 2 ] ;

    for ( int i  = 0 ; i < para_number_of_values
                         ; i ++  ) {

        paint_location
                  = decide_paint_location_X_and_Y (
                               para_array_X_values [ i ]                  
                             , para_array_Y_values [ i ]      
                                                    ) ;   
                     //draw mark at the location x value and y value
        cv_ins_Graphics
                        .fillRect (
                       paint_location [ 0 ]
                     , paint_location [ 1 ]
                       ,  Bridge.cv_Length_Side_of_DrawingSquare
                    ,  Bridge.cv_Length_Side_of_DrawingSquare
                                              ) ;
       }
    }
//----------------------------------      
  private static void draw_values ( char para_X_or_Y ) {

    Color ins_Color
                                = new Color ( 0 , 0 , 200 ) ;
    cv_ins_Graphics
                     .setColor ( ins_Color ) ;
    Font ins_Font
                             = new Font ( "Serif" , Font.BOLD , 30 );
     cv_ins_Graphics
                       .setFont( ins_Font ) ;

     double w1 = 0.0 ;
     int w2 = 0 ;
     double x = 0.0 ;
     double y = 0.0 ;

     if ( para_X_or_Y == 'X' ) {
                              //draw X-value Strings
        w1 = ( cv_Max_X - cv_Min_X )
                          / ( Bridge.cv_Number_of_X_values_String - 1 ) ;
        w2 = Bridge.cv_Number_of_X_values_String ;
        x = 0.0 ;
        y = cv_Min_Y ;
       }
     else {
                             //draw Y-value Strings
         w1 = ( cv_Max_Y - cv_Min_Y )
                          / ( Bridge.cv_Number_of_Y_values_String - 1 ) ;
         w2 = Bridge.cv_Number_of_Y_values_String ;
         x = cv_Min_X ;
         y = 0.0 ;
        }               

    int [ ] paint_location = new int [ 2 ] ;
    int location_offset = 0 ;
    double value_drawed = 0.0 ;

    for ( int i = 0 ; i < w2  ; i ++ ) {

        if ( para_X_or_Y == 'X' ) {
                              //draw X-value Strings
            x = cv_Min_X + w1 * i ;
            value_drawed = x ;
            paint_location
                      = decide_paint_location_X_and_Y ( x , y    ) ;    
           }
        else {
                           //draw Y-value Strings
            y = cv_Min_Y + w1 * i ;
            value_drawed = y ;
            paint_location
                      = decide_paint_location_X_and_Y ( x , y    ) ;    
           }

        if ( para_X_or_Y == 'X' ) {
                           //draw X-value Strings
            if ( ( i % 2) == 0 ) {
                location_offset = 58 ;
               }
            else {
                  location_offset = 82 ;
               }
            cv_ins_Graphics
                       .drawString (
                            ( Double
                                       .toString ( value_drawed )  )
                          , paint_location [ 0 ]
                            ,  ( paint_location [ 1 ] + location_offset )
                                        ) ;
           }
        else {
                           //draw Y-value Strings
            location_offset = -260 ;
            cv_ins_Graphics
                       .drawString (
                            ( Double
                                       .toString ( value_drawed ) )
                              , ( paint_location [ 0 ] + location_offset )
                             ,  paint_location [ 1 ]
                                        ) ;                  
          }

       }
    }

//------------------------------------------      
  private static void decide_Min_and_Max (
                                  double [ ] para_array_X_values
                                , double [ ] para_array_Y_values
                                , int para_number_of_values
                                                           )     {

     cv_Min_X = Bridge.cv_From_X ;   
     cv_Max_X  = Bridge.cv_To_X ;            
     cv_Min_Y = para_array_Y_values [ 0 ] ;   
     cv_Max_Y  = para_array_Y_values [ 0 ] ;

     double w1 = 0.0 ;
     double w2 = 0.0 ;

     for ( int i  = 1 ; i < para_number_of_values ; i ++  ) {
         w1 = cv_Min_X ;
         w2 = cv_Max_X ;
         if ( para_array_X_values [ i ] < w1 ) {
             cv_Min_X = para_array_X_values [ i ] ;
           }
         if ( para_array_X_values [ i ] > w2 ) {
             cv_Max_X = para_array_X_values [ i ] ;
            } 

         w1 = cv_Min_Y ;
         w2 = cv_Max_Y ;
         if ( para_array_Y_values [ i ] < w1 ) {
             cv_Min_Y = para_array_Y_values [ i ] ;
            }
         if ( para_array_Y_values [ i ] > w2 ) {
             cv_Max_Y = para_array_Y_values [ i ] ;
            } 
        }
     }

//------------------------------------------      
  private static int [ ] decide_paint_location_X_and_Y (
                                  double para_X_value
                               ,  double para_Y_value
                                                           )     {

    int [ ] return_value = new int [ 2 ] ;
    return_value [ 0 ]
                     = ( int ) (
                             cv_drawing_begin_x
                         +
                        ( para_X_value -  cv_Min_X )
                            * cv_scale_X
                         )   ;
    return_value [ 1 ]
                     = cv_height_of_Frame
                       - ( int ) (
                             cv_drawing_begin_y
                         +
                        ( para_Y_value -  cv_Min_Y )
                            * cv_scale_Y
                            ) ;
    return return_value ;
   }      
}


==============================
JFrameDataInput.java
----------------------
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

//-------------------------------------------------
//JFrame for intput data
//-------------------------------------------------
class JFrameDataInput extends JFrame {

    private String cv_this_Class_name = "JFrameDataInput" ;

    private final String cv_title_of_JFrame = "For Data Input" ;   

    private int cv_width_of_Frame ;
    private int cv_height_of_Frame;
    private int cv_topLeftLocation_x_of_Frame ;
    private int cv_topLeftLocation_y_of_Frame ;

    //======================
    //Constructer
    //======================   
  JFrameDataInput (
                       int para_width_of_Frame      
                     , int para_height_of_Frame    
                     , int para_topLeftLocation_x_of_Frame      
                     , int para_topLeftLocation_y_of_Frame    
          ) {

    String this_methode_name = "constructer" ;

    System.out.println ( "----------------------------------" ) ;
    System.out.println ( "Enter into Class = " + cv_this_Class_name +
                              " : methode = " + this_methode_name ) ;

    cv_width_of_Frame = para_width_of_Frame ;
    cv_height_of_Frame = para_height_of_Frame ;
    cv_topLeftLocation_x_of_Frame
                  = para_topLeftLocation_x_of_Frame ;
    cv_topLeftLocation_y_of_Frame
                  = para_topLeftLocation_y_of_Frame ;

    setTitle ( cv_title_of_JFrame ) ;
    setBounds (
                cv_topLeftLocation_x_of_Frame
              , cv_topLeftLocation_y_of_Frame            
              , cv_width_of_Frame
              , cv_height_of_Frame
                  ) ;
    setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE ) ;

    JPanel ins_JPanel = new JPanel () ;

          //-------------------------------
          //  From_X
    JLabel ins_1_JLabel = new JLabel ( "From X = " ) ;
    ins_1_JLabel.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;

    JTextField ins_1_JTextField = new JTextField ( "0.0" ) ;
    ins_1_JTextField.setPreferredSize ( new Dimension ( 100, 40 ) ) ;
    ins_1_JTextField.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;
    ActionListenerText1 ins_ActionListenerText1
              = new ActionListenerText1 ( ) ;
    ins_1_JTextField.addActionListener ( ins_ActionListenerText1 ) ;

    ins_JPanel.add ( ins_1_JLabel ) ;
    ins_JPanel.add ( ins_1_JTextField ) ;
            //-------------------------------
            //  To_X
    JLabel ins_2_JLabel = new JLabel ( "To X = " ) ;
    ins_2_JLabel.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;

    JTextField ins_2_JTextField = new JTextField ( "20.0" ) ;
    ins_2_JTextField.setPreferredSize ( new Dimension ( 100, 40 ) ) ;
    ins_2_JTextField.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;
    ActionListenerText2 ins_ActionListenerText2
            = new ActionListenerText2 ( ) ;
    ins_2_JTextField.addActionListener ( ins_ActionListenerText2 ) ;

    ins_JPanel.add ( ins_2_JLabel ) ;
    ins_JPanel.add ( ins_2_JTextField ) ;
           //-------------------------------
           //Interval_X
    JLabel ins_3_JLabel = new JLabel ( "Interval X = " ) ;
    ins_3_JLabel.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;

    JTextField ins_3_JTextField = new JTextField ( "0.2" ) ;
    ins_3_JTextField.setPreferredSize ( new Dimension ( 100, 40 ) ) ;
    ins_3_JTextField.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;
    ActionListenerText3 ins_ActionListenerText3
               = new ActionListenerText3 ( ) ;
    ins_3_JTextField.addActionListener ( ins_ActionListenerText3 ) ;

    ins_JPanel.add ( ins_3_JLabel ) ;
    ins_JPanel.add ( ins_3_JTextField ) ;
                   //-------------------------------
                   //Magnification_X
    JLabel ins_4_JLabel = new JLabel ( "Magnification X = " ) ;
    ins_4_JLabel.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;

    JTextField ins_4_JTextField = new JTextField ( "1.0" ) ;
    ins_4_JTextField.setPreferredSize ( new Dimension ( 100, 40 ) ) ;
    ins_4_JTextField.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;
    ActionListenerText4 ins_ActionListenerText4
                = new ActionListenerText4 ( ) ;
    ins_4_JTextField.addActionListener ( ins_ActionListenerText4 ) ;

    ins_JPanel.add ( ins_4_JLabel ) ;
    ins_JPanel.add ( ins_4_JTextField ) ;
                   //-------------------------------
                  //    Magnification_Y
    JLabel ins_5_JLabel = new JLabel ( "Magnification Y = " ) ;
    ins_5_JLabel.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;

    JTextField ins_5_JTextField = new JTextField ( "1.0" ) ;
    ins_5_JTextField.setPreferredSize ( new Dimension ( 100, 40 ) ) ;
    ins_5_JTextField.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;
    ActionListenerText5 ins_ActionListenerText5
                  = new ActionListenerText5 ( ) ;
    ins_5_JTextField.addActionListener ( ins_ActionListenerText5 ) ;

    ins_JPanel.add ( ins_5_JLabel ) ;
    ins_JPanel.add ( ins_5_JTextField ) ;
               //-------------------------------
               //Length of DrawingSquare Side
    JLabel ins_6_JLabel = new JLabel ( "Length of DrawingSquare Side = " ) ;
    ins_6_JLabel.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;

    JTextField ins_6_JTextField = new JTextField ( "8" ) ;
    ins_6_JTextField.setPreferredSize ( new Dimension ( 100, 40 ) ) ;
    ins_6_JTextField.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;
    ActionListenerText6 ins_ActionListenerText6
                 = new ActionListenerText6 ( ) ;
    ins_6_JTextField.addActionListener ( ins_ActionListenerText6 ) ;

    ins_JPanel.add ( ins_6_JLabel ) ;
    ins_JPanel.add ( ins_6_JTextField ) ;
             //-------------------------------
             //Number of X values String
    JLabel ins_7_JLabel = new JLabel ( "Number of X value String = " ) ;
    ins_7_JLabel.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;

    JTextField ins_7_JTextField = new JTextField ( "6" ) ;
    ins_7_JTextField.setPreferredSize ( new Dimension ( 100, 40 ) ) ;
    ins_7_JTextField.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;
    ActionListenerText7 ins_ActionListenerText7
             = new ActionListenerText7 ( ) ;
    ins_7_JTextField.addActionListener ( ins_ActionListenerText7 ) ;

    ins_JPanel.add ( ins_7_JLabel ) ;
    ins_JPanel.add ( ins_7_JTextField ) ;
        //-------------------------------
        //Number of  Y values String
    JLabel ins_8_JLabel = new JLabel ( "Number of  Y value String = " ) ;
    ins_8_JLabel.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;

    JTextField ins_8_JTextField = new JTextField ( "5" ) ;
    ins_8_JTextField.setPreferredSize ( new Dimension ( 100, 40 ) ) ;
    ins_8_JTextField.setFont ( new Font ( "Serif", Font.PLAIN , 30 ) ) ;
    ActionListenerText8 ins_ActionListenerText8
        = new ActionListenerText8 ( ) ;
    ins_8_JTextField.addActionListener ( ins_ActionListenerText8 ) ;

    ins_JPanel.add ( ins_8_JLabel ) ;
    ins_JPanel.add ( ins_8_JTextField ) ;

               //-------------------------------
    add ( ins_JPanel , BorderLayout.CENTER ) ;   

    System.out.println ( "  ----------------------------------" ) ;
    System.out.println ( "Exit from Class = " + cv_this_Class_name +
                              " : methode = " + this_methode_name ) ;
   }
}

//-------------------------------------------------------
class ActionListenerText1 implements ActionListener {

    private String cv_this_Class_name = "ActionListenerText1" ;

    public void actionPerformed ( ActionEvent para_ins_ActionEvent ) {

        String this_methode_name = "actionPerformed" ;

        System.out.println ( "----------------------------------" ) ;
        System.out.println ( "Enter into Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;

               //get JTextField instance related
        JTextField ins_JTextField
          = ( JTextField ) ( para_ins_ActionEvent.getSource () ) ;
               //set value to related variety
        Bridge.cv_From_X
            = Double.parseDouble ( ins_JTextField.getText () ) ;
               //request process to Mediater
        Mediater.draw_shape_of_function ( ) ;

        System.out.println ( "Exit from Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;
        System.out.println ( "----------------------------------" ) ;
    }
}
//-------------------------------------------------------
class ActionListenerText2 implements ActionListener {

    private String cv_this_Class_name = "ActionListenerText2" ;

    public void actionPerformed ( ActionEvent para_ins_ActionEvent ) {

        String this_methode_name = "actionPerformed" ;

        System.out.println ( "----------------------------------" ) ;
        System.out.println ( "Enter into Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;

               //get JTextField instance related
        JTextField ins_JTextField
          = ( JTextField ) ( para_ins_ActionEvent.getSource () ) ;
               //set value to related variety
        Bridge.cv_To_X
            = Double.parseDouble ( ins_JTextField.getText () ) ;
             //request process to Mediater
        Mediater.draw_shape_of_function ( ) ;

        System.out.println ( "Exit from Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;
        System.out.println ( "----------------------------------" ) ;
  }
}
//-------------------------------------------------------
class ActionListenerText3 implements ActionListener {

    private String cv_this_Class_name = "ActionListenerText3" ;

    public void actionPerformed ( ActionEvent para_ins_ActionEvent ) {

        String this_methode_name = "actionPerformed" ;

        System.out.println ( "----------------------------------" ) ;
        System.out.println ( "Enter into Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;

               //get JTextField instance related
        JTextField ins_JTextField
          = ( JTextField ) ( para_ins_ActionEvent.getSource () ) ;
               //set value to related variety
        Bridge.cv_Interval_X
            = Double.parseDouble ( ins_JTextField.getText () ) ;
             //request process to Mediater
        Mediater.draw_shape_of_function ( ) ;

        System.out.println ( "Exit from Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;
        System.out.println ( "----------------------------------" ) ;
  }
}

//-------------------------------------------------------
class ActionListenerText4 implements ActionListener {

    private String cv_this_Class_name = "ActionListenerText4" ;

    public void actionPerformed ( ActionEvent para_ins_ActionEvent ) {

        String this_methode_name = "actionPerformed" ;

        System.out.println ( "----------------------------------" ) ;
        System.out.println ( "Enter into Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;

               //get JTextField instance related
        JTextField ins_JTextField
          = ( JTextField ) ( para_ins_ActionEvent.getSource () ) ;
               //set value to related variety
        Bridge.cv_Magnification_X
            = Double.parseDouble ( ins_JTextField.getText () ) ;
             //request process to Mediater
        Mediater.draw_shape_of_function ( ) ;

        System.out.println ( "Exit from Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;
        System.out.println ( "----------------------------------" ) ;
  }
}
//-------------------------------------------------------
class ActionListenerText5 implements ActionListener {

    private String cv_this_Class_name = "ActionListenerText5" ;

    public void actionPerformed ( ActionEvent para_ins_ActionEvent ) {

        String this_methode_name = "actionPerformed" ;

        System.out.println ( "----------------------------------" ) ;
        System.out.println ( "Enter into Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;

               //get JTextField instance related
        JTextField ins_JTextField
          = ( JTextField ) ( para_ins_ActionEvent.getSource () ) ;
               //set value to related variety
        Bridge.cv_Magnification_Y
        = Double.parseDouble ( ins_JTextField.getText () ) ;
             //request process to Mediater
        Mediater.draw_shape_of_function ( ) ;

        System.out.println ( "Exit from Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;
        System.out.println ( "----------------------------------" ) ;
  }
}

//-------------------------------------------------------
class ActionListenerText6 implements ActionListener {

    private String cv_this_Class_name = "ActionListenerText6" ;

    public void actionPerformed ( ActionEvent para_ins_ActionEvent ) {

        String this_methode_name = "actionPerformed" ;

        System.out.println ( "----------------------------------" ) ;
        System.out.println ( "Enter into Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;

               //get JTextField instance related
        JTextField ins_JTextField
          = ( JTextField ) ( para_ins_ActionEvent.getSource () ) ;
               //set value to related variety
        Bridge.cv_Length_Side_of_DrawingSquare
                    = Integer.parseInt ( ins_JTextField.getText () ) ;
           //request process to Mediater
        Mediater.draw_shape_of_function ( ) ;

        System.out.println ( "Exit from Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;
        System.out.println ( "----------------------------------" ) ;
     }
}

//-------------------------------------------------------
class ActionListenerText7 implements ActionListener {

    private String cv_this_Class_name = "ActionListenerText7" ;

    public void actionPerformed ( ActionEvent para_ins_ActionEvent ) {

        String this_methode_name = "actionPerformed" ;

        System.out.println ( "----------------------------------" ) ;
        System.out.println ( "Enter into Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;

               //get JTextField instance related
        JTextField ins_JTextField
          = ( JTextField ) ( para_ins_ActionEvent.getSource () ) ;
               //set value to related variety
        Bridge.cv_Number_of_X_values_String
                       = Integer.parseInt ( ins_JTextField.getText () ) ;
           //request process to Mediater
        Mediater.draw_shape_of_function ( ) ;

        System.out.println ( "Exit from Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;
        System.out.println ( "----------------------------------" ) ;
     }
}

//-------------------------------------------------------
class ActionListenerText8 implements ActionListener {

    private String cv_this_Class_name = "ActionListenerText8" ;

    public void actionPerformed ( ActionEvent para_ins_ActionEvent ) {

        String this_methode_name = "actionPerformed" ;

        System.out.println ( "----------------------------------" ) ;
        System.out.println ( "Enter into Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;

               //get JTextField instance related
        JTextField ins_JTextField
          = ( JTextField ) ( para_ins_ActionEvent.getSource () ) ;
               //set value to related variety
        Bridge.cv_Number_of_Y_values_String
                  = Integer.parseInt ( ins_JTextField.getText () ) ;
           //request process to Mediater
        Mediater.draw_shape_of_function ( ) ;

        System.out.println ( "Exit from Class = " + cv_this_Class_name +
                                  " : methode = " + this_methode_name ) ;
        System.out.println ( "----------------------------------" ) ;
     }
}

======================================================

コンピューター・プログラム 制作 インデックス

« 箱のイメージ 画像貼り付け コンピューター・グラフィックス 動画制作 Java と OpenCV3 を使って | トップページ | プログラム 制作 複数 の 断面図画像 を与えて 3次元 立体 表示 Java OpenCV3 を使って »

コンピューター・プログラム」カテゴリの記事

フォト
無料ブログはココログ