トップ・ページの表示 注意書きの表示 掲示板に書き込む前に必ず この ”注意書き”を お読み下さい.

"沙羅"

★この掲示板は書き込みを停止いたしました 。
記事の書き込みはリンク・ページの表示 http://ashtarte.hotcom-web.com/utf8/smt.cgi?r+rpr/ を ご利用 下さい。

   
   

ページの表示順:{ 新しい順/ 古い順}.
初期・ページの表示・位置:{ 先頭ページ/ 末尾ページ}.
1ページ内のスレッド表示数:







<Number>: [00000428]  <Date>: 2022/07/17 20:34:00
<Title>: Javaデモ/Swing「JFrameスケルトン・テンプレート」(8)
<Name>: amanojaku@管理人

import java.awt.EventQueue;
import java.awt.Container;
import javax.swing.JFrame;

public class J005 extends JFrame {
  static String sAppTitle = "Java Application";
  static J005 oAppFrame;
  Container content;

  /**
   * Launch the application.
   */
  public static void main(String[] args) {
    // 以前はイベントもメイン・スレッドでしたが、
    // イベントはイベント・ディスパッチ・スレッドに分離されたために、
    // GUIコンポーネントの設定もイベント・ディスパッチ・スレッドで設定しなければならなくなったので、
    // メイン・スレッドでのGUIコンポーネントの設定はNGになりました、
    // 下記のように「EventQueue.invokeLater()」でイベント・ディスパッチ・スレッドに登録しなければなりません。
    EventQueue.invokeLater(new Runnable() {
      public void run() {
        try {
          oAppFrame = new J005();
          oAppFrame.setVisible(true);
        } catch (Exception ex) {
          ex.printStackTrace();
        }
      }
    });
  }

  /**
   * Create the frame.
   */
  public J005() {
    // 閉じるボタンをクリックされた場合の動作を設定
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    setTitle(sAppTitle);
    setLocation(50, 50);

    // ContentPaneの実態はJFrameにビルトインされているデフォルト・パネル。
    content = getContentPane();
    content.setSize(350, 350);

    // 「JFrame#setSize(~)」でフレーム・サイズを設定すると、
    // タイトルも含むウインドウ全体のサイズになります。
    // つまり、ウインドウ内の表示領域の縦がタイトルのサイズ分 少なくなります。
    // 「JFrame#getContentPane().setPreferredSize(~)」で設定し、
    // 「pack()」すれば、ContentPaneで設定された全表示領域が表示されます。
    content.setPreferredSize(content.getSize());
    pack();

    // content.setLayout(null);
  }
}


<Number>: [00000459]  <Date>: 2021/03/08 23:17:31
<Title>: Javaデモ/Swing「JFrame、Canvas」
<Name>: amanojaku@管理人

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Graphics;

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

public class J068 extends JFrame {
  static String sAppTitle = "Java Application";
  static J068 oAppFrame;
  JPanel content;
  JPanel  wpnlCanvas001;

  /**
  * Launch the application.
  */
  public static void main(String[] args) {
    // 以前はイベントもメイン・スレッドでしたが、
    // イベントはイベント・ディスパッチ・スレッドに分離されたために、
    // GUIコンポーネントの設定もイベント・ディスパッチ・スレッドで設定しなければならなくなったので、
    // メイン・スレッドでのGUIコンポーネントの設定はNGになりました、
    // 下記のように「EventQueue.invokeLater()」でイベント・ディスパッチ・スレッドに登録しなければなりません。
    EventQueue.invokeLater(new Runnable() {
      public void run() {
        try {
          oAppFrame = new J068();
          oAppFrame.setVisible(true);
        } catch (Exception ex) {
          ex.printStackTrace();
        }
      }
    });
  }

  /**
  * Create the frame.
  */
  public J068() {
    // 閉じるボタンをクリックされた場合の動作を設定
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    setTitle(sAppTitle);
    setLocation(50, 50);

    // ContentPaneの実態はJFrameにビルトインされているデフォルト・パネル。
    content = (JPanel) getContentPane();
    content.setSize(350, 350);

    // 「JFrame#setSize(~)」でフレーム・サイズを設定すると、
    // タイトルも含むウインドウ全体のサイズになります。
    // つまり、ウインドウ内の表示領域の縦がタイトルのサイズ分 少なくなります。
    // 「JFrame#getContentPane().setPreferredSize(~)」で設定し、
    // 「pack()」すれば、ContentPaneで設定された全表示領域が表示されます。
    content.setPreferredSize(content.getSize());
    pack();

    // content.setLayout(null);
    content.setLayout(new BorderLayout());

    // wpnlCanvas001 = new JPanel();
    wpnlCanvas001 = new PnlCanvas();
    wpnlCanvas001.setBounds(10, 10, 350, 350);
    getContentPane().add(wpnlCanvas001, BorderLayout.CENTER);
  }
}

//Swing には JCanvas は存在しないので、
//グラフィックの描画には JPanel で代用する。
class PnlCanvas extends JPanel {
  @Override
  public void paint(Graphics g){
    int width, height;
    width = getSize().width;
    height = getSize().height;
    g.setColor(Color.GREEN);
    int x,y,n,dx,dy;
    n = 15;
    dx = width/n-1;
    dy = height/n-1;
    for(int i = 0; i<n; i++) {
      for(int j = 0; j<n; j++) {
        x = i*width/n;
        y = j*height/n;
        g.fillRect(x, y, dx, dy);
      }
    }
  }
}

Block( Address 0000067E Identity 00000428 )






ページの表示順:{ 新しい順/ 古い順}.
初期・ページの表示・位置:{ 先頭ページ/ 末尾ページ}.
1ページ内のスレッド表示数:

   
   

管理者用 Password:

  




SMT Version 8.022(+A) Release M6.
Author : amanojaku.