(1)インスタンス変数 とは インスタンス(オブジェクト)が生成された時に実態をもつ変数、*private e;など
(2)インスタンスメドッド とは インスタンス(オブジェクト)が生成され時実態をもつメソッド、 ※public void car()
(3)クラス変数 とは public static int a; インスタンス(オブジェクト)を生成しなくても呼び出せる、クラスに属する変数
(4)クラスメソッド とは public static void car(); インスタンス(オブジェクト)を生成しなくせも呼び出せるメソッド、クラスに属する。
(5)コンストラクタ とは クラス名と同じで、戻り値が無い、インスタンスを生成した時に呼び出される物です、
引数の数や型で呼び出すコンストラクタを変えることが出来ます。
2010年7月29日木曜日
JavaAPIドキュメント
日本語版が便利です。
パッケージ一覧・クラス一覧・仕様と3つの画面があります。
■java.langはパッケージ指定しなくても使えます。標準クラスです。
たとえば、Stringはクラスです。パッケージは指定しなくても使えます。
■コンストラクタ・メソッドもあります。
■Mathクラスのstatic int max(int a,int b);は
staticはクラスメソッドの、戻り型intの、max名と言うメドッソです。
※またクラスフィールドのPIは、Math.PIは円周率;
パッケージ一覧・クラス一覧・仕様と3つの画面があります。
■java.langはパッケージ指定しなくても使えます。標準クラスです。
たとえば、Stringはクラスです。パッケージは指定しなくても使えます。
■コンストラクタ・メソッドもあります。
■Mathクラスのstatic int max(int a,int b);は
staticはクラスメソッドの、戻り型intの、max名と言うメドッソです。
※またクラスフィールドのPIは、Math.PIは円周率;
2010年7月28日水曜日
オブジェクトの配列
//クラスの配列を用意し、for文で用意した配列分のオブジェクトをつくります。
//クラス変数で生産された台数をカウントし、
//メソッドにクルマの番号とガソリン量を渡します。
import java.util.Random;
class Car
{
public static int i;
private int num;
private double gas;
public Car()
{
i++;
System.out.println("車をつくたよ" + i + "車");
}
public void car1(int n,double g)
{
num = n;
gas = g;
}
public void showCar()
{
System.out.println("num車" + num + "号車です。" + "gas:ガソリン量" +gas);
}
public static void showNum()
{
System.out.println("車は" + i + "台あります");
}
}
class Sample9
{
public static void main(String args[])
{
int i;
Random rnd = new Random();
Car[] car = new Car[5];
for( i = 0; i < car.length; i++)
{
car[i] = new Car();
}
for( i = 0; i < car.length; i++)
{
int k = i;
car[i].car1(k+1,rnd.nextInt(100));
}
for( i = 0; i < car.length; i++)
{
car[i].showCar();
}
Car.showNum();
System.out.println("今日は何号車に乗っていきますか?");
car[rnd.nextInt(car.length)].showCar();
}
}
/****実行結果*******
車をつくたよ1車
車をつくたよ2車
車をつくたよ3車
車をつくたよ4車
車をつくたよ5車
num車1号車です。gas:ガソリン量23.0
num車2号車です。gas:ガソリン量31.0
num車3号車です。gas:ガソリン量40.0
num車4号車です。gas:ガソリン量88.0
num車5号車です。gas:ガソリン量39.0
車は5台あります
今日は何号車に乗っていきますか?
num車4号車です。gas:ガソリン量88.0*/
//クラス変数で生産された台数をカウントし、
//メソッドにクルマの番号とガソリン量を渡します。
import java.util.Random;
class Car
{
public static int i;
private int num;
private double gas;
public Car()
{
i++;
System.out.println("車をつくたよ" + i + "車");
}
public void car1(int n,double g)
{
num = n;
gas = g;
}
public void showCar()
{
System.out.println("num車" + num + "号車です。" + "gas:ガソリン量" +gas);
}
public static void showNum()
{
System.out.println("車は" + i + "台あります");
}
}
class Sample9
{
public static void main(String args[])
{
int i;
Random rnd = new Random();
Car[] car = new Car[5];
for( i = 0; i < car.length; i++)
{
car[i] = new Car();
}
for( i = 0; i < car.length; i++)
{
int k = i;
car[i].car1(k+1,rnd.nextInt(100));
}
for( i = 0; i < car.length; i++)
{
car[i].showCar();
}
Car.showNum();
System.out.println("今日は何号車に乗っていきますか?");
car[rnd.nextInt(car.length)].showCar();
}
}
/****実行結果*******
車をつくたよ1車
車をつくたよ2車
車をつくたよ3車
車をつくたよ4車
車をつくたよ5車
num車1号車です。gas:ガソリン量23.0
num車2号車です。gas:ガソリン量31.0
num車3号車です。gas:ガソリン量40.0
num車4号車です。gas:ガソリン量88.0
num車5号車です。gas:ガソリン量39.0
車は5台あります
今日は何号車に乗っていきますか?
num車4号車です。gas:ガソリン量88.0*/
クラス型変数・基本型変数をメソッドの引数として使う
■基本が変数の値は値渡し、ことなる物を示す事になる。
■クラス型変数の値渡しは参照渡しになる。同じものを示すことになる
class Y1
{
J1 j1 = new J1("text");
I1.setT(j1);
}
class U1
{
public void setT(J1 te)
{
text = te;
}
}
※同じものを指します
■クラス型変数の値渡しは参照渡しになる。同じものを示すことになる
class Y1
{
J1 j1 = new J1("text");
I1.setT(j1);
}
class U1
{
public void setT(J1 te)
{
text = te;
}
}
※同じものを指します
ガーベージコレクション
■クラス型変数にnullを代入すると、ガーベージコレクション・メモリーが解放される事
■だたし2つのクラス型変数が同じもを示しているなら、片方は残ります「オブジェクトの事」。
■finalize()メソッドでメモリから破棄する事も出来る、
■だたし2つのクラス型変数が同じもを示しているなら、片方は残ります「オブジェクトの事」。
■finalize()メソッドでメモリから破棄する事も出来る、
ラッパクラス・基本型とは
■基本型のint・double・char型を提供するクラス。
これらのクラスはnewしなくても使えます。
クラスメソッドも使えます。Integer.parseInt()などがそうです。
■Math.max(7,8);は大きい方を返します
これも標準クラスライブラリーです。
これらのクラスはnewしなくても使えます。
クラスメソッドも使えます。Integer.parseInt()などがそうです。
■Math.max(7,8);は大きい方を返します
これも標準クラスライブラリーです。
privateフィールド・publicメソッド・コンストラクタ・オブジェクト作成
//0から100までのXとYの座標を表す
class MyPoint
{
//インスタンスフィールドです
private int x;
private int y;
//引数のないコンストラクタ
public MyPoint ()
{
System.out.println("初期座標はxは" + x + "です。Yは" + y + "です。\n");
}
//引数有のコンストラクタ
public MyPoint (int px, int py)
{
if((px >= 0 && px <=100) && (py >= 0 && py <=100))
{
x = px;
y = py;
System.out.println("座標xは" + x + "で、座標Yは" + y + "です。\n");
}
else
{
System.out.println("0~100を入力してください");
}
}
//インスタンスメソッド
public void setX(int px)
{
if(px >= 0 && px <=100)
{
x = px;
System.out.println("座標xは" + x + "です。\n");
}
else
{
System.out.println("0~100を入力してください");
}
}
public void setY(int py)
{
if(py >= 0 && py <=100)
{
y = py;
System.out.println("座標Yは" + y + "です。\n");
}
else
{
System.out.println("0~100を入力してください");
}
}
//インスタンス変数
public int getX()
{
return x;
}
public int getY()
{
return y;
}
}
class Lessen5
{
public static void main (String args[])
{
System.out.println("引数なしのコンストラクタを実行します");
MyPoint mypoint1 = new MyPoint();
System.out.println("引数2個のコンストラクタを実行します");
MyPoint mypoint2 = new MyPoint(100,20);
System.out.println("引数が1つあるメソッドを実行しました、");
mypoint1.setX(55);
System.out.println("引数が1つあるメソッドを実行しました、");
mypoint1.setY(99);
int pointX = mypoint1.getX();
int pointY = mypoint1.getY();
System.out.println("オブジェクトmypoint1XYの座標を受け取るint型のメソッドを実行しました");
System.out.println("X座標は" + pointX + "で、Y座標は" + pointY + "です。\n");
int point2X = mypoint2.getX();
int point2Y = mypoint2.getY();
System.out.println("オブジェクトmypoint2XYの座標を受け取るint型のメソッドを実行しました");
System.out.println("X座標は" + point2X + "で、Y座標は" + point2Y + "です。");
}
}
/*
実行結果
引数なしのコンストラクタを実行します
初期座標はxは0です。Yは0です。
引数2個のコンストラクタを実行します
座標xは100で、座標Yは20です。
引数が1つあるメソッドを実行しました、
座標xは100です。
引数が1つあるメソッドを実行しました、
座標Yは99です。
XYの座標を受け取るint型のメソッドを実行しました
X座標は100で、Y座標は99です。
*/
class MyPoint
{
//インスタンスフィールドです
private int x;
private int y;
//引数のないコンストラクタ
public MyPoint ()
{
System.out.println("初期座標はxは" + x + "です。Yは" + y + "です。\n");
}
//引数有のコンストラクタ
public MyPoint (int px, int py)
{
if((px >= 0 && px <=100) && (py >= 0 && py <=100))
{
x = px;
y = py;
System.out.println("座標xは" + x + "で、座標Yは" + y + "です。\n");
}
else
{
System.out.println("0~100を入力してください");
}
}
//インスタンスメソッド
public void setX(int px)
{
if(px >= 0 && px <=100)
{
x = px;
System.out.println("座標xは" + x + "です。\n");
}
else
{
System.out.println("0~100を入力してください");
}
}
public void setY(int py)
{
if(py >= 0 && py <=100)
{
y = py;
System.out.println("座標Yは" + y + "です。\n");
}
else
{
System.out.println("0~100を入力してください");
}
}
//インスタンス変数
public int getX()
{
return x;
}
public int getY()
{
return y;
}
}
class Lessen5
{
public static void main (String args[])
{
System.out.println("引数なしのコンストラクタを実行します");
MyPoint mypoint1 = new MyPoint();
System.out.println("引数2個のコンストラクタを実行します");
MyPoint mypoint2 = new MyPoint(100,20);
System.out.println("引数が1つあるメソッドを実行しました、");
mypoint1.setX(55);
System.out.println("引数が1つあるメソッドを実行しました、");
mypoint1.setY(99);
int pointX = mypoint1.getX();
int pointY = mypoint1.getY();
System.out.println("オブジェクトmypoint1XYの座標を受け取るint型のメソッドを実行しました");
System.out.println("X座標は" + pointX + "で、Y座標は" + pointY + "です。\n");
int point2X = mypoint2.getX();
int point2Y = mypoint2.getY();
System.out.println("オブジェクトmypoint2XYの座標を受け取るint型のメソッドを実行しました");
System.out.println("X座標は" + point2X + "で、Y座標は" + point2Y + "です。");
}
}
/*
実行結果
引数なしのコンストラクタを実行します
初期座標はxは0です。Yは0です。
引数2個のコンストラクタを実行します
座標xは100で、座標Yは20です。
引数が1つあるメソッドを実行しました、
座標xは100です。
引数が1つあるメソッドを実行しました、
座標Yは99です。
XYの座標を受け取るint型のメソッドを実行しました
X座標は100で、Y座標は99です。
*/
2010年7月27日火曜日
クラスメソッド・クラス変数 public static
//クラスメソッドテストとクラス変数テスト
class Car
{
public static int sum = 0;
private int num = 1;
public Car()
{
sum++;
System.out.println("コンスト時のsumです" + sum);
}
public static void showS()
{
System.out.println("インスタンス変数にアクセスしてみましたsumです" + sum);
}
}
class Sample8
{
public static void main(String args[])
{
Car.showS();
Car.showS();
Car.showS();
Car.showS();
Car car1 = new Car();
Car car2 = new Car();
Car car3 = new Car();
Car car4 = new Car();
Car.showS();//クラス変数表示
}
}
/*
C:\JavaSrc\9>java Sample8
インスタンス変数にアクセスしてみましたsumです0
インスタンス変数にアクセスしてみましたsumです0
インスタンス変数にアクセスしてみましたsumです0
インスタンス変数にアクセスしてみましたsumです0
コンスト時のsumです1
コンスト時のsumです2
コンスト時のsumです3
コンスト時のsumです4
インスタンス変数にアクセスしてみましたsumです4//クラスメソッドでクラス変数をよびだしています
*/
class Car
{
public static int sum = 0;
private int num = 1;
public Car()
{
sum++;
System.out.println("コンスト時のsumです" + sum);
}
public static void showS()
{
System.out.println("インスタンス変数にアクセスしてみましたsumです" + sum);
}
}
class Sample8
{
public static void main(String args[])
{
Car.showS();
Car.showS();
Car.showS();
Car.showS();
Car car1 = new Car();
Car car2 = new Car();
Car car3 = new Car();
Car car4 = new Car();
Car.showS();//クラス変数表示
}
}
/*
C:\JavaSrc\9>java Sample8
インスタンス変数にアクセスしてみましたsumです0
インスタンス変数にアクセスしてみましたsumです0
インスタンス変数にアクセスしてみましたsumです0
インスタンス変数にアクセスしてみましたsumです0
コンスト時のsumです1
コンスト時のsumです2
コンスト時のsumです3
コンスト時のsumです4
インスタンス変数にアクセスしてみましたsumです4//クラスメソッドでクラス変数をよびだしています
*/
コンスタラクタに修飾小を付ける
class J1
{
private J1()
{
System.out.println("privateなコンスト実行");
}
public J1(int n,double e)
{
this(); //privateなコンスト呼び出し
System.out.println("publicなコンスト実行");
}
}
■
J1 j1 = new J1();//引数無のコンストは呼び出しできません
J1 j2 = new J1(12,55);//引数無のコンストをthisで呼び出しています。
*必ず引数2個のコンストしか呼び出せないような時つかえます。
{
private J1()
{
System.out.println("privateなコンスト実行");
}
public J1(int n,double e)
{
this(); //privateなコンスト呼び出し
System.out.println("publicなコンスト実行");
}
}
■
J1 j1 = new J1();//引数無のコンストは呼び出しできません
J1 j2 = new J1(12,55);//引数無のコンストをthisで呼び出しています。
*必ず引数2個のコンストしか呼び出せないような時つかえます。
別のコンストラクタを呼び出す
public Car(int x, double y)
{
this();//引数なしのコンスト呼び出し、
}
■引数2このコンスト呼び出しは
this(11,33);//とする
*注意thisは先頭でしか使えません
{
this();//引数なしのコンスト呼び出し、
}
■引数2このコンスト呼び出しは
this(11,33);//とする
*注意thisは先頭でしか使えません
2010年7月16日金曜日
mypoint1とmypoint2のオブジェクトかな?
//0から100までのXとYの座標を表す
class MyPoint
{
//インスタンスフィールドです
private int x;
private int y;
//引数のないコンストラクタ
public MyPoint ()
{
System.out.println("初期座標はxは" + x + "です。Yは" + y + "です。\n");
}
//引数有のコンストラクタ
public MyPoint (int px, int py)
{
if((px >= 0 && px <=100) && (py >= 0 && py <=100))
{
x = px;
y = py;
System.out.println("座標xは" + x + "で、座標Yは" + y + "です。\n");
}
else
{
System.out.println("0~100を入力してください");
}
}
//インスタンスメソッド
public void setX(int px)
{
x = px;
System.out.println("座標xは" + x + "です。\n");
}
public void setY(int py)
{
y = py;
System.out.println("座標Yは" + y + "です。\n");
}
//インスタンス変数
public int getX()
{
return x;
}
public int getY()
{
return y;
}
}
class Lessen5
{
public static void main (String args[])
{
System.out.println("引数なしのコンストラクタを実行します");
MyPoint mypoint1 = new MyPoint();
System.out.println("引数2個のコンストラクタを実行します");
MyPoint mypoint2 = new MyPoint(100,20);
System.out.println("引数が1つあるメソッドを実行しました、");
mypoint1.setX(55);
System.out.println("引数が1つあるメソッドを実行しました、");
mypoint1.setY(99);
int pointX = mypoint1.getX();
int pointY = mypoint1.getY();
System.out.println("オブジェクトmypoint1XYの座標を受け取るint型のメソッドを実行しました");
System.out.println("X座標は" + pointX + "で、Y座標は" + pointY + "です。\n");
int point2X = mypoint2.getX();
int point2Y = mypoint2.getY();
System.out.println("オブジェクトmypoint2XYの座標を受け取るint型のメソッドを実行しました");
System.out.println("X座標は" + point2X + "で、Y座標は" + point2Y + "です。");
}
}
/*
実行結果
引数なしのコンストラクタを実行します
初期座標はxは0です。Yは0です。
引数2個のコンストラクタを実行します
座標xは100で、座標Yは20です。
引数が1つあるメソッドを実行しました、
座標xは55です。
引数が1つあるメソッドを実行しました、
座標Yは99です。
オブジェクトmypoint1XYの座標を受け取るint型のメソッドを実行しました
X座標は55で、Y座標は99です。
オブジェクトmypoint2XYの座標を受け取るint型のメソッドを実行しました
X座標は100で、Y座標は20です。
*/
追記:今回できたmypoint1とmypoint2のオブジェクトなんだろうかなと思う、
たしかに、オブジェクトが出来たし、便利な気もする今日この頃
class MyPoint
{
//インスタンスフィールドです
private int x;
private int y;
//引数のないコンストラクタ
public MyPoint ()
{
System.out.println("初期座標はxは" + x + "です。Yは" + y + "です。\n");
}
//引数有のコンストラクタ
public MyPoint (int px, int py)
{
if((px >= 0 && px <=100) && (py >= 0 && py <=100))
{
x = px;
y = py;
System.out.println("座標xは" + x + "で、座標Yは" + y + "です。\n");
}
else
{
System.out.println("0~100を入力してください");
}
}
//インスタンスメソッド
public void setX(int px)
{
x = px;
System.out.println("座標xは" + x + "です。\n");
}
public void setY(int py)
{
y = py;
System.out.println("座標Yは" + y + "です。\n");
}
//インスタンス変数
public int getX()
{
return x;
}
public int getY()
{
return y;
}
}
class Lessen5
{
public static void main (String args[])
{
System.out.println("引数なしのコンストラクタを実行します");
MyPoint mypoint1 = new MyPoint();
System.out.println("引数2個のコンストラクタを実行します");
MyPoint mypoint2 = new MyPoint(100,20);
System.out.println("引数が1つあるメソッドを実行しました、");
mypoint1.setX(55);
System.out.println("引数が1つあるメソッドを実行しました、");
mypoint1.setY(99);
int pointX = mypoint1.getX();
int pointY = mypoint1.getY();
System.out.println("オブジェクトmypoint1XYの座標を受け取るint型のメソッドを実行しました");
System.out.println("X座標は" + pointX + "で、Y座標は" + pointY + "です。\n");
int point2X = mypoint2.getX();
int point2Y = mypoint2.getY();
System.out.println("オブジェクトmypoint2XYの座標を受け取るint型のメソッドを実行しました");
System.out.println("X座標は" + point2X + "で、Y座標は" + point2Y + "です。");
}
}
/*
実行結果
引数なしのコンストラクタを実行します
初期座標はxは0です。Yは0です。
引数2個のコンストラクタを実行します
座標xは100で、座標Yは20です。
引数が1つあるメソッドを実行しました、
座標xは55です。
引数が1つあるメソッドを実行しました、
座標Yは99です。
オブジェクトmypoint1XYの座標を受け取るint型のメソッドを実行しました
X座標は55で、Y座標は99です。
オブジェクトmypoint2XYの座標を受け取るint型のメソッドを実行しました
X座標は100で、Y座標は20です。
*/
追記:今回できたmypoint1とmypoint2のオブジェクトなんだろうかなと思う、
たしかに、オブジェクトが出来たし、便利な気もする今日この頃
2010年7月15日木曜日
ローカル変数
インスタンス変数やクラス変数とちがうローカル変数とは
ローカル変数とはメソッド内で宣言した変数で、ローカル変数が値を格納していられるのはメソッドが終了するまで、メソッドが呼び出されるたびに初期化します。
ローカル変数とはメソッド内で宣言した変数で、ローカル変数が値を格納していられるのはメソッドが終了するまで、メソッドが呼び出されるたびに初期化します。
クラスメソッドの注意
public static void showS(){
this.num; //クラスメソッドは特定のオブジェクトに関連付けられて無いので、thisを使えない
//また、インスタンスメソッドやインスタンス変数にアクセスできません。
//クラスメソッドはオブジェクトが作成されなくても呼び出せる為です。
System.out.println("インスタンス変数にアクセスしてみましたnumです" + num);
}
******エラー文*********
Sample8.java:13: static でない 変数 this を static コンテキストから参照すること
はできません。
Sample8.java:14: static でない 変数 num を static コンテキストから参照することは
できません。
this.num; //クラスメソッドは特定のオブジェクトに関連付けられて無いので、thisを使えない
//また、インスタンスメソッドやインスタンス変数にアクセスできません。
//クラスメソッドはオブジェクトが作成されなくても呼び出せる為です。
System.out.println("インスタンス変数にアクセスしてみましたnumです" + num);
}
******エラー文*********
Sample8.java:13: static でない 変数 this を static コンテキストから参照すること
はできません。
Sample8.java:14: static でない 変数 num を static コンテキストから参照することは
できません。
クラス変数とクラスメソッド
class Car{
public static int sum; //クラス変数です、クラス変数は各オブジェクトから共有されるフィールドとなります。
public Car()
{
sum++
}
public static void show()//クラスメソッドはオブジェクトが作成されなくても、newされなくても、
//メソッドを呼び出す事が出来ます。
{
System.out.println(sum);//sumはCarクラスが作成・newされるたびに1つ増えます
}
}
***************************
//クラスメソッドテストとクラス変数テスト
class Car
{
public static int sum = 0;
public Car()
{
sum++;
System.out.println("コンスト時のsumです" + sum);
}
public static void showS()
{
System.out.println("コンストメソッド時のsumです" + sum);
}
}
class Sample8
{
public static void main(String args[])
{
Car.showS();
Car.showS();
Car.showS();
Car.showS();
Car car1 = new Car();
Car car2 = new Car();
Car car3 = new Car();
Car car4 = new Car();
}
}
******実行結果******
コンストメソッド時のsumです0
コンストメソッド時のsumです0
コンストメソッド時のsumです0
コンストメソッド時のsumです0
コンスト時のsumです1
コンスト時のsumです2
コンスト時のsumです3
コンスト時のsumです4
public static int sum; //クラス変数です、クラス変数は各オブジェクトから共有されるフィールドとなります。
public Car()
{
sum++
}
public static void show()//クラスメソッドはオブジェクトが作成されなくても、newされなくても、
//メソッドを呼び出す事が出来ます。
{
System.out.println(sum);//sumはCarクラスが作成・newされるたびに1つ増えます
}
}
***************************
//クラスメソッドテストとクラス変数テスト
class Car
{
public static int sum = 0;
public Car()
{
sum++;
System.out.println("コンスト時のsumです" + sum);
}
public static void showS()
{
System.out.println("コンストメソッド時のsumです" + sum);
}
}
class Sample8
{
public static void main(String args[])
{
Car.showS();
Car.showS();
Car.showS();
Car.showS();
Car car1 = new Car();
Car car2 = new Car();
Car car3 = new Car();
Car car4 = new Car();
}
}
******実行結果******
コンストメソッド時のsumです0
コンストメソッド時のsumです0
コンストメソッド時のsumです0
コンストメソッド時のsumです0
コンスト時のsumです1
コンスト時のsumです2
コンスト時のsumです3
コンスト時のsumです4
2010年7月14日水曜日
インスタンス変数、クラスメソッド
class Car{
private int a;
private douvle b;
public Car(){
}
public void sCar(int c, double d){
a = c;
b = d;
}
}
*a,bはオブジェクトに関する物なので、インスタンス変数と呼び、
sCar()メソッドはインスタンスメソッドと呼びます。
オブジェクト作成されアクセスできるもの、
private int a;
private douvle b;
public Car(){
}
public void sCar(int c, double d){
a = c;
b = d;
}
}
*a,bはオブジェクトに関する物なので、インスタンス変数と呼び、
sCar()メソッドはインスタンスメソッドと呼びます。
オブジェクト作成されアクセスできるもの、
コンストラクターに修飾子を付ける
private Car(){}
public Car(int n,double b) {}
privateは外から呼び出せません、
public Car()を呼び出し、this();で呼び出すなどします。
public Car(int n,double b) {}
privateは外から呼び出せません、
public Car()を呼び出し、this();で呼び出すなどします。
コンストラクターのオーバーロード
エクセルの表示画面をjpg保存
①エクセルをアクティブウインドー
↓
②Altキー + PrintScreen でクリップボード
↓
③ペイントソフトにCtrl + V で貼り付け
↓
④表示したい部分を選択ツールで囲みコピー
↓
⑤新規作成で貼り付けしてキャンパスサイズを調整
↓
⑥名前を付けて保存、拡張子をJpg
↓
⑦出来上がり
↓
②Altキー + PrintScreen でクリップボード
↓
③ペイントソフトにCtrl + V で貼り付け
↓
④表示したい部分を選択ツールで囲みコピー
↓
⑤新規作成で貼り付けしてキャンパスサイズを調整
↓
⑥名前を付けて保存、拡張子をJpg
↓
⑦出来上がり
登録:
投稿 (Atom)