「Chapter10-2「AWTでウインドウを作る 」
まず このサンプルプログラムを少し変えてみました。
<BufferedReader を用いてキーボードからウインドウのサイズを入力>
🌟サンプルプログラム
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class Sample2
{
public static void main(String[] args) throws IOException
{
System.out.println("ウインドウのサイズを入力して下さい。(X座標、Y座標)");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
String str2 = br.readLine();
int wx = Integer.parseInt(str1);
int wy = Integer.parseInt(str2);
Frame fr = new Frame();
fr.setTitle("終了出来るウインドウ");
fr.setSize(wx, wy);
fr.setVisible(true);
fr.addWindowListener(new addWinListener());
}
}
class addWinListener extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
結果
入力したサイズでウインドウの製作が出来ました!!
Chapter10-3「ウインドウを別クラスにする 」
また このサンプルプログラムを少し変えてみました。
<BufferedReader を用いてキーボードからウインドウのサイズを入力>
<引数を持つコンストラクタを呼び出し>
<MyWindowクラスのカプセル化>
🌟サンプルプログラム
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class Sample3
{
public static void main(String[] args) throws IOException
{
System.out.println("ウインドウのサイズを入力して下さい(X,Y座標共に 200~800)。");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
String str2 = br.readLine();
int px = Integer.parseInt(str1);
int py = Integer.parseInt(str2);
MyWindow mw = new MyWindow(px, py); //オブジェクトの作成・コンストラクタの呼び出し
}
}
// MyWindowクラス
class MyWindow extends Frame
{
private int x;
private int y;
MyWindow(int px, int py) //引数を持つコンストラクタの記述
{
if(px>=200 && px<=800) x = px; else x = 600;
if(py>=200 && py<=800) y = px; else y = 600;
setTitle("ウインドウを別のクラスにする");
setSize(x, y);
setVisible(true);
addWindowListener(new WinListener());
}
}
class WinListener extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
結果
何だか珍しく ちゃんと改造できました。
今日の教訓
ちゃんと動くと 気持ちいい。
0 件のコメント:
コメントを投稿