学生向けプログラミング入門

学生向けにプログラミングを解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails

Java

Javaプログラミング入門その49 ファイルからの読み込み・書き込み(2020年3月更新)

[TOP] 既に何度か登場していますが、ファイルからテキスト(文字列)を入出力するにはjava.ioパッケージのFileReader/FileWriterを使用します。 インスタンスを生成するにはString/File/FileDescriptorを引数として与えます。 また、通常はテキストを効率よ…

Javaプログラミング入門その48 JTimer, JProgressBarを利用したプログラム(2020年3月更新)

[TOP] 次>> Swingには指定された時間ごとにアクションイベントを発行するタイマー(JTimer)が用意されています。 このタイマーは1つ以上のアクションイベントリスナーを関連づけることが出来ます。 タイマーはjavax.swing.Timerを用います。 java.lang.Obj…

Javaプログラミング入門その47 JComboBoxを利用したプログラム(2020年3月更新)

[TOP] 次>> リストと似た機能を持つものに「コンボボックス(JComboBox)」があります。 コンボボックスは編集可能なアイテム(初期設定ではテキストフィールド)を持つドロップダウンリストです。 リストと違い複数の項目からの選択は出来ません。 コンボボ…

Javaプログラミング入門その46 JListを利用したプログラム(2020年3月更新)

[TOP] 次>> 複数の項目から値を選択するような場合には「チェックボックス」や「ラジオボタン」の他に、リスト(JList)を使う方法があります。 リストはjavax.swing.JListを用います。 java.lang.Object +--java.awt.Component +--java.awt.Container +--ja…

Javaプログラミング入門その45 JTableを利用したプログラム(2020年3月更新)

[TOP] 次>> データを行と列の形式で表示・操作するには、「テーブル」を使うのが便利です。 テーブルは「テーブルヘッダ」「列」「セルの値」から構成されています。 テーブルを生成する際に使用するコンポーネントはjavax.swing.JTableですが、JTableを処理…

Javaプログラミング入門その44 JTreeを利用したプログラム(2020年3月更新)

[TOP] 次>> 断層化されたデータを表示するような場合にはツリーを利用すると便利です。 ツリーを実現するためのコンポーネントはjavax.swing.JTreeですが、JTreeを処理するためのクラスとインターフェイスはjavax.swing.treeパッケージになります。 treeパッ…

Javaプログラミング入門その43 テキストコンポーネントの利用 その2(2020年3月更新)

[TOP] 次>> テキストの入力(あるいは出力)えお行うには、javac.swing.textJTextComponentを基とするテキストコンポーネントを使用します。 具体的にはjavax.swingパッケージにある「JTextField」「JPasswordField」「JTextArea」「JTextEditor」「JTextPan…

Javaプログラミング入門その42 JFileFilterとLook&Feel(GUIの見た目、操作性)(2020年3月更新)

[TOP] 次>> 以下の2つのサンプルプログラムを作成してみましょう。 【SwingImageFileFilter.java】 import java.io.*; public class SwingImageFileFilter extends javax.swing.filechooser.FileFilter { /**ファイル表示の設定*/ public boolean accept(Fi…

Javaプログラミング入門その41 JDialog, JOptionPane, JFileChooserの利用(2020年2月更新)

[TOP] 次>> 通常システムからの知らせに応じてユーザーが反応する場合(例えば、システムからの「本当にファイルを消してもよいですか?」に対する反応で「はい」「いいえ」を選択)は、「ダイアログ(対話)・ウィンドウ」と呼ばれるものを表示します。 Swingで…

Javaプログラミング入門その40 表示のための軽量コンテナを利用したプログラム(2020年2月更新)

[TOP] 次>> Swingの軽量コンテナは、コンポーネント(コンテナ)を含有出来ますが、今回はそれらコンポーネントを特徴的に表示する以下の軽量コンテナついて説明します。クラス機能の概要JScrollPaneスクロールの実現JTabbedPane複数のコンポーネントをタブ…

Javaプログラミング入門その39 JToggleButtonを利用したプログラム(2020年2月更新)

[TOP] 次>> 今回はメニュー関係として、JMenuBar, JMenuItem, JMenu, JCheckBoxMenuItem, JRadioButtonMenuItem, JToolBar, JPopupMenuを使用します。 下記にクラスの関係をあげておきます。 【クラス階層】 java.lang.Object +--java.awt.Component +--java…

Javaプログラミング入門その38 いろいろなボタンを利用したプログラム(2020年2月更新)

[TOP] 次>> まずは以下のサンプルプログラムを作成してみましょう。 【SwingToggle1.java】 /** *JToggleButtonを表示する。 */ import javax.swing.*; public class SwingToggle1 { private JToggleButton button1, button2; /**コンストラクタ*/ public Sw…

Javaプログラミング入門その37 JButtonとJLabelを利用したプログラム(2020年2月)

[TOP] 次>> JLabeは画像やテキストの表示を行い、JButtonは画像やテキストの表示を行った上で、そのオブジェクトに対するイベントを取得することが可能です。 JLabelとJButtonは同様の機能を持った同名のメソッドが多数ありますが、下記の通りクラスの継承関…

Javaプログラミング入門その36 楕円図形を連続して表示させるプログラム(2020年2月更新)

[TOP] 次>> ここからはSwingについて取り上げていきます。 Swingは下図のようにAWT上に構築されたGUIを構築するためのパッケージです。 java.lang.Object | +--java.awt.Component | +--java.awt.Panel+--java.applet.Applet+--javax.swing.JApplet | +--jav…

Javaプログラミング入門その35 レイアウトマネージャーを利用したプログラム(2020年2月更新)

[TOP] 次>> レイアウトマネージャーはコンテナにコンポーネントをどのように配置するかを設定するためのものです。 AWTのレイアウトマネージャーは以下のように5種類あり、java.aet.LayoutManagerインターフェイスを実装しています。FlowLayoutコンポーネン…

Javaプログラミング入門その34 テキストコンポーネントの利用 その1(2020年2月更新)

[TOP] 次>> 今回は入力可能なTextComponent系とダイアログ、ファイルダイアログを扱います。 まずは以下のサンプルプログラムを作成してみましょう。 【AwtTextTest.java】 /** *いろいろなTextComponent */ import java.awt.*; import java.awt.event.*; pu…

Javaプログラミング入門その33 コンポーネントの利用と配置(2020年2月更新)

[TOP] 次>> 今まではAWTコンポーネントとして、Canvas、Frameなどを用いてプログラムを作成してきました。 今回からはさらに別のコンポーネントを組み合わせたプログラム制作を行っていきます。 まずコンポーネントとコンテナの役割を再度確認します。コンポ…

Javaプログラミング入門その32 CheckboxMenuItem, PopupMenu, サブメニューの利用(2020年2月更新)

[TOP] 次>> 今回はメニューのCheckboxMenuItem, PopupMenuの使用法とサブメニューの作成を行います。 java.lang.Object +--java.awt.MenuComponent | +--java.awt.MenuBar +--java.awt.MenuItem | +--java.awt.CheckBoxMenuItem +--java.awt.Menu | +--java.…

Javaプログラミング入門その31 メニューを付加したプログラム(2020年2月更新)

[TOP] 次>> GUIのプログラムを作成する場合に最も基本となるのがメニューを利用したプログラムです。 今回はメニューの基本としてMenuBar、MenuItem、Menuを使用します。 下記にクラスの関係をあげておきます。 Java.lang.Object +--java.awt.MenuComponent …

Javaプログラミング入門その30 簡単なゲームを作成 その2(2020年2月更新)

[TOP] 次>> 以前にスレッドを生成する方法としてRunnableインターフェイスを実装する方法を紹介しましたが、今回はThreadのサブクラスを作成してスレッドを実現します。 スレッド自体の仕組みは以前と同様で、run()メソッドに記述された処理がスレッドとして…

Javaプログラミング入門その29 乱数を用いたプログラム(2020年2月更新)

[TOP] 次>> ゲームなどで使用する乱数や指数関数、対数関数、平方根、および三角関数といった基本的な数値処理はjava.lang.Mathクラスの各メソッドを利用します。 Mathクラスのメソッドはstaticなメソッドですので、直接メソッドを使用します。 今回使用する…

Javaプログラミング入門その28 イベント処理を行うプログラム(2020年2月更新)

[TOP] 次>> Javaのイベント処理は「イベント駆動型」と呼ばれる処理で行います。 イベント駆動型とはオブジェクトに何らかのイベントが発生した場合はあらかじめ定義された事柄を実行する方法で、イベントが発生したかどうかはアプリケーションで判断してそ…

Javaプログラミング入門その27 アニメーションを描画するプログラム(2020年2月更新)

[TOP] 次>> 基本的には複数のイメージを生成して、順次表示させることでアニメーションとなります。 アニメーションを行う場合、「repaint()」で画面描画を制御する必要があります。 以下のサンプルプログラムを作成してください。 【AwtAnimationTest1.java…

Javaプログラミング入門その26 イメージと文字列を描画するプログラム(2020年2月更新)

[TOP] 次>> AWTでより凝ったグラフィックス描画をする場合、すでにファイルとなっている画像イメージを利用した方が手軽です。 AWTの標準で扱えるイメージのフォーマットは、JPEG、GIF、PNGです。 イメージの生成方法は実行されるウィンドウシステムによって…

Javaプログラミング入門その25 いろいろな図形を描画するプログラム(2020年2月更新)

[TOP] 次>> まずは、以下のサンプルプログラムを作成してみましょう。 【AWTDrawTest1.java】 import java.awt.*; public class AWTDrawTest1 extends Canvas { private Color color; private Polygon poly; //x座標のまとまり private int[] x = {320, 270,…

Javaプログラミング入門その24 複数のフレーム(Frame)を表示させるプログラム(2020年2月更新)

[TOP] 次>> Javaには「Java®Platform, Standard Edition & Java Development Kitバージョン13 API仕様」があり、使用できるパッケージの種類や使用方法を調べることが出来ます。 ここからはパッケージの使用方法をいろいろ紹介していきます。 プログラムの中…

Javaプログラミング入門その23 クラス分けした検索プログラム(2020年2月更新)

[TOP] 次>> メモ帳を開いて次の3つのプログラムを作ってみましょう。 【Person.java】 public class Person { public String name; public String address; public Person( String s1, String s2 ) { name = s1; address = s2; } } 【AddressBook.java】 pu…

Javaプログラミング入門その22 クラス分けした表作成プログラム(2020年2月更新)

[TOP] 次>> メモ帳を開いて次の6つのプログラムを作ってみましょう。 【Size.java】 public class Size { public static int count( String str ) { int count = 0; char[] a = str.toCharArray(); for( int i=0; i

Javaプログラミング入門その21 コンストラクタを作成、利用するプログラム その2(2020年2月更新)

[TOP] 次>> メモ帳を開いて次の2つのプログラムを作ってみましょう。 【Panda.java】 public class Panda { public String name; public int bornYear; public boolean isAlive; } 【PandaTest.java】 import java.util.Calendar; public class PandaTest {…

Javaプログラミング入門その20 コンストラクタを作成、利用するプログラム その1(2020年2月更新)

[TOP] 次>> メモ帳を開いて次の2つのプログラムを作ってみましょう。 【Elephant.java】 public class Elephant { public String name; public int age; public int weight; } 【ElephantTest.java】 public class ElephantTest { public static void main(…