やさしいJava活用編 | (SBクリエイティブ) |
Javaの文法といった基本を身に付けた人が、次のレベルにステップアップするための必読書。『やさしい』シリーズのやさしい語り口の解説で、データベース、ネットワークなど、実践的な内容を網羅しています。 ・サンプルコード ・正誤表 「やさしいJava」のページ 「やさしいXML」のページ |
|
関連情報 | |
・OpenJDKダウンロード ・JDKドキュメント(標準クラスライブラリ関連) ・OpenJFXダウンロード ・JavaFXドキュメント(JavaFX関連) ・Apache Derby(データベース関連) ・Apache Tomcat(Webサーバー関連) ・Servletドキュメント(サーブレット関連) |
|
書籍情報 | |
本書は2019年2月に「やさしいJava 活用編第6版」として改訂されています。 第5版時の資料 第4版時の資料 第3版時の資料 第2版時の資料 第1版時の資料 「やさしいJava」のページ |
|
正誤表 | |
・7ページ 「JavaFXのコンパイル」中 (誤)contorls (正)controls ・7ページ 「JavaFXの実行」中 (誤)contorls (正)controls ・54ページ 表中最下行 (誤)AddEventHandler() (正)setOnKeyPressed() ・72ページ Sample5.java中7行目 (誤)import javafx.scene.text.*; (正)<削除> ・80ページ 下から3行目 (誤)lb[X].setBackground(new BackgroundImage(im, (正)lb[X].setBackground(new Background(new BackgroundImage(im, ・80ページ 下から1行目 (誤)null,null); (正)null,null))); ・108ページ 6〜7行目 (誤)TableColumn (正)TableColumn ・108ページ 14行目 (誤)<RowData, String>("price")); (正)<RowData, Integer>("price")); ・186ページ Sample1.jsp中10行目 (誤)car.gif (正)car.jpg ・242ページ 5行目 (誤)class Sample5 (正)class Sample4 ・255ページ 下から2行目 (誤)bp.setTop(lb1); (正)<削除> ・331ページ Sample3.java中のstartメソッド冒頭行末尾 (誤)throws Exception (正)<削除> ・331ページ Sample3.java中のstartメソッド中 (誤) try{ InetAddress ia = InetAddress.getLocalHost(); (正)<削除> ・331ページ Sample3.java中のstartメソッド末尾部分 (誤) } catch(Exception e){ e.printStackTrace(); } (正)<削除> ・336ページ Sample4S.java中10行目 (誤)Sample4S sm = new Sample4S(); (正)<削除> ・338ページ Sample4C.java中のstartメソッド冒頭行末尾 (誤)throws Exception (正)<削除> ・338ページ Sample4C.java中のstartメソッド中 (誤) try{ InetAddress ia = InetAddress.getLocalHost(); (正)<削除> ・338ページ Sample4C.java中のstartメソッド末尾部分 (誤) } catch(Exception e){ e.printStackTrace(); } (正)<削除> ・345ページ Sample5S.java中11行目 (誤)Sample5S sm = new Sample5S(); (正)<削除> ・347ページ Sample5C.java中のstartメソッド冒頭行末尾 (誤)throws Exception (正)<削除> ・347ページ Sample5C.java中のstartメソッド中 (誤) try{ InetAddress ia = InetAddress.getLocalHost(); (正)<削除> ・348ページ Sample5C.java中のstartメソッド中「//接続」の前 (誤) } catch(Exception e){ e.printStackTrace(); } (正)<削除> ・414ページ 1行目 (誤)SamplePS sm = new SamplePS(); (正)<削除> ・437ページ 2行目 (誤)[システムと詳細設定] (正)[システムの詳細設定] |
|
プログラムの実行時に文字化けが起こる場合 | 3〜4、442ページ |
現在、Windowsのメモ帳の一般的な保存文字コード形式が「UTF-8」となっています。 メモ帳でソースコードを保存する際には、「名前を付けて保存」画面上の「文字コード」として「ANSI」を選択して保存してください。 なお「UTF-8」で保存した場合でも、コンパイル時に文字コードを指定することで実行時の文字化けを回避することができます。 (コンパイル) javac -encoding UTF8 <ソースファイル名> |
|
第5版の資料 | |
ここより下記は第5版時の資料です。 第5版サンプルコード |
|
正誤表(第5版) | |
・115ページ 15行目 (誤)private SeparatorMenuItem sm; (正)<削除> ・119ページ 最下行 (誤)private Button bt[] = (正)private Button[] bt = ・375ページ 下から17行目 gc.clearRect (誤)(0, 0, 300, 200); (正)(0, 0, 600, 340); ・377ページ上から19行目 「x2 = e.getX(); y2 = e.getY();」の行 (正)376ページの下から3行目 「//図形を作成しないとき」の直前の行に置く ・377ページ 下から11行目 (誤)x1 = -1; y2 = -1; (正)<削除> ---------- 2刷以降訂正済 ---------- ・44ページ 3行目 最初のコード行 (誤)bt.addEventHnadler(・・・ (正)bt.addEventHandler(・・・ ・45ページ 図3-7中 (誤)リスナ (正)イベントハンドラ ・45ページ 図3-7 図説明中 (誤)リスナをあらわすクラス (正)イベントハンドラをあらわすクラス ・90ページ 4行目改行中 (誤)(TogglesGroup) (正)(ToggleGroup) ・127ページ 本文3行目 (誤)イベントハンドラだけを (正)イベントハンドラを ・127ページ Sample8.javaコード冒頭 (誤)・・・ (正)import java.util.*; ・・・ ・288ページ 下から2行目 (誤)FileFIlterインターフェイス (正)FileFilterインターフェイス ・317ページ コード中17行目 (誤)charset=Shift_JIS"); (正)charset=UTF-8"); ・425ページ 太文字下から3項目 (誤)FileFIlterインターフェイス (正)FileFilterインターフェイス ・6章・6章解答 サーブレットコード中の<center> (修正前)<center> (修正後)<div style=\"text-align: center;\"> ・6章・6章解答 サーブレットコード中の</center> (修正前)</center> (修正後)</div> ・6・7章、6・7章解答 HTML中の<center> (修正前)<center> (修正後)<div style="text-align: center;"> ・6・7章、6・7章解答HTML中の</center> (修正前)</center> (修正後)</div> ・7章・7章解答中 JSP中の<center> (修正前)<center> (修正後)<div style="text-align: center;"> ・7章・7章解答中 JSP中の</center> (修正前)</center> (修正後)</div> |
|
JDK中に「derby.jar」(JavaDB)がみつからない | 443ページ |
本書中のデータベースを利用するサンプルでは、
JDK 8に含まれていた「Java DB」(Apache Derby)を使用しています。
2019年現在JDK 8にはJava DBが含まれませんので、
下記Apache Derbyサイトからzipファイルをダウンロードし、libフォルダ中のderby.jarを入手してください。
Apache Derby |
|
Windows10 Creators Update (2017.4〜)をご使用の場合 |
432ページ |
「コマンドプロンプト」が「Windows PowerShell」になっています。 コマンドプロンプトのかわりに、Windows PowerShellをお使いいただくことができます。 コマンドプロンプトをお使いになる場合には、スタートメニューを右クリック→「ファイル名を指定して実行」を選択し、「cmd」を入力してください。 | |
サーブレットを実行したが画面に何も表示されない | |
下記の2「HTMLから実行するサーブレット」である場合があります。 1)6章Sample1など、「直接実行するサーブレット」は、143ページで説明しているように、 サーブレットのURL http://localhost:8080/YJKSample06/servlet/SampleX を指定して実行します。 2)6章Sample2など、「HTMLから実行するサーブレット」は、まずHTMLを保存したURL http://localhost:8080/YJKSample06/SampleX.html を開いて、その後送信ボタンなど押すことで実行するサーブレットとなっています。 |
|
6・7章が左寄せで表示される | |
ブラウザが<center>タグを認識しない場合6・7章のWebページが左寄せで表示される可能性があります。
左寄せ表示でお使いいただくか、スタイルシートを使った表記をお使いください。 なお2刷以降では修正されています。 ・簡便なスタイルシートを使った訂正方法 ・6章・6章解答 サーブレットコード中の<center> (修正前)<center> (修正後)<div style=\"text-align: center;\"> ・6章・6章解答 サーブレットコード中の</center> (修正前)</center> (修正後)</div> ・6・7章、6・7章解答 HTML中の<center> (修正前)<center> (修正後)<div style="text-align: center;"> ・6・7章、6・7章解答HTML中の</center> (修正前)</center> (修正後)</div> ・7章・7章解答中 JSP中の<center> (修正前)<center> (修正後)<div style="text-align: center;"> ・7章・7章解答中 JSP中の</center> (修正前)</center> (修正後)</div> |
|
第4版の資料 | |
第4版サンプルコード |
|
第3版の資料 | |
ここより下記は第3版時の資料です。
|
|
JavaDBがインストールできない | |
64ビット版Windowsにおいて、CD-ROM中のJDK6のインストール時に、JavaDBがインストールされない場合があります。
JDK7の「Windows x86(32bit)jdk-7uX-windows-i586.exe」をダウンロードの上お使いください。 ・Java SE(JDK 7) なおJDK7においてはJavaDBのインストールディレクトリが変更されていますので書籍中の次の箇所をお読みかえください。 (64ビット版Windowsの場合) ・470ページ3の丸1のパスを以下にする(Xはバージョン名) c:\Program Files(x86)\Java\jdk1.7.X_XX\db\lib\derby.jar; ・480ページ1行目のコピー元を以下とする c:\Program Files(x86)\Java\jdk1.7.X_XX\db\lib |
|
JDK7をお使いの場合 | |
JDK7においてはJavaDBのインストールディレクトリが変更されています。書籍中の次の箇所をお読みかえください。 (32ビット版Windowsの場合) ・470ページ3の丸1のパスを以下にする(Xはバージョン名) c:\Program Files\Java\jdk1.7.X_XX\db\lib\derby.jar; ・480ページ1行目のコピー元を以下とする c:\Program Files\Java\jdk1.7.X_XX\db\lib |
|
Tomcatが起動できない | |
Tomcatが起動できない場合以下の解決方法をお試しください。 ・「管理者として実行」で起動する。(472ページ) ・JDKをインストールしたディレクトリ中のbinフォルダにあるファイル「msvcr71.dll」を、c:\Apache Software Foundation\Tomcat6.0\bin内にコピーする。 |
|
Swingの表示 | |
一部の機種でアプレットビューアを用いた場合Swingの表示が乱れる場合があります。 Webブラウザもお使いください。 | |
第3版時の正誤表 | |
・253ページ 行の取得 1行目 (誤)data = new ArrayList(); (正)data = new ArrayList<ArrayList>(); ---------- 4刷以降訂正済 ---------- ・55ページ上から3行目/CD-ROM 3章Sample7に1文を追加 (誤) //リスナの登録 addKeyListener(new SampleKeyListener()); (正) //リスナの登録 addKeyListener(new SampleKeyListener()); setFocusable(true); ・200ページ 表7-1 「アクション」最右列4・5行目 (誤) オブジェクトのデータを取得する オブジェクトのデータを設定する (正) オブジェクトのデータを設定する オブジェクトのデータを取得する ・402ページ actionPerformed()メソッド内に1文を追加 (誤) public void actionPerformed(ActionEvent e) { JFileChooser fc = new JFileChooser(); (正) public void actionPerformed(ActionEvent e) { Container cnt = getContentPane(); JFileChooser fc = new JFileChooser(); ・413ページ/CD-ROM 3章練習問題3解答中に1文を追加 (誤) //リスナの登録 addKeyListener(new SampleKeyListener()); (正) //リスナの登録 addKeyListener(new SampleKeyListener()); setFocusable(true); ---------- 3刷以降訂正済 ---------- ・261ページ Sample5.jsp 2行目に追加 <%@ page import="java.util.*" %> ---------- 2刷以降訂正済 ---------- ・111ページコード中下から3・4行目 (誤) cnt.add(lb, BorderLayout.NORTH); cnt.add(sp, BorderLayout.CENTER); (正) add(lb, BorderLayout.NORTH); add(sp, BorderLayout.CENTER); ・276ページコード中16行目 (誤)cnt = getContainerPane(); (正)cnt = getContentPane(); ・471ページ 手順5 3行目 (誤)「YJKSampl10」というフォルダ (正)「YJKSample10」というフォルダ |
|
第2版の資料 | |
ここより下記は第2版時の資料です。
|
|
アプレットの実行 | |
現在Windowsの一部の機種でアプレットビューア終了時にエラーが出る環境があります。 Webブラウザもお使いください。(2005.9) | |
正誤表(第2版) | |
---------- 8刷以降訂正済 ---------- ・166ページ下から3行目 (誤)Sample1とSample2では (正)Sample2では ・214ページ コード中1行目 (誤)import mybeans; (正)import mybeans.*; ・206ページ 最下行 (誤)P195のSample2.html (正)P162のSample2.html ・215ページ 最下行 (誤)P195のSample2.html (正)P162のSample2.html ・403ページ 下から8行目 (誤)import mybeans; (正)import mybeans.*; ---------- 3刷以降訂正済 ---------- ・83ページ表中1行目 (誤)java.awt.appletクラス (正)java.applet.Appletクラス ---------- 2刷以降訂正済 ---------- ・CD-ROM 8章練習SampleP3.java中 80行目・81行目 (誤)Private Vector (正)private Vector ・CD-ROM印刷面 (誤)3版 (正)2版 ・P243 コード中6〜7行目 (誤)(rm.getColumnName(i).toString()); (正)(rm.getColumnName(i)); ・P243 コード中13行目 (誤)new Vector<string> (正)new Vector<String> |
|
第1版の資料 | |
ここより下記は第1版時の資料です。
|
|
Tomcatの起動ができない | |
Tomcatを起動しようとしたときに「環境変数のための領域が足りません」と表示され起動ができない場合には、Tomcatを実行する前に次の作業を行ってください。 ・Tomcatをインストールした「jakarta-tomcat-3.2.3」→「bin」フォルダ中の「startup.bat」ファイルを右クリックして、「プロパティ」を選択します。 ・「メモリ」タブを選択して、「環境変数の初期サイズ」を「2816」以上にします。 ・「jakarta-tomcat-3.2.3」→「bin」フォルダ中の「shutdown.bat」ファイルを右クリックして、同様に、「プロパティ」→「メモリ」→「環境変数の初期サイズ」を「2816」以上にします。 |
|
Tomcatの新しいバージョンをお使いの場合 | |
「活用編」付属CD-ROMにはTomcat3.2.3が添付されています。新しいバージョンのTomcatを別途入手してお使いになる場合には、以下を参照ください。(2004年1月現在) --本文中-- ・7章Sample6.jsp、7章練習問題解答SampleP3.jsp・SampleP3T.jspの2行目に<%@ page import="CarBean" %>という記述を追加する。 ・8章Sample5.jspの2行目に<%@ page import="CarDBBean" %>という記述を追加する。 --セットアップ-- ・P376「環境変数を設定する」で、CLASSPATHの場所を「TOMCATをインストールしたディレクトリ\common\lib\servlet.jar」とする。 ・P377「コンテキストパスを設定する」で、server.xml中の「<Context path="ROOT" ・・・>」の下に、以下の行を追加する。(webappsフォルダの指定はしない、コメント英字) <!-- YasaJava --> <Context path="/YJKSample/06" docBase="YJKSample/06" debug="0" reloadable="true"/> <Context path="/YJKSample/07" docBase="YJKSample/07" debug="0" reloadable="true"/> <Context path="/YJKSample/08" docBase="YJKSample/08" debug="0" reloadable="true"/> <!-- YasaJava --> ・P379「Tomcatの起動」・P380「Tomcatの終了」 Tomcat4:スタートメニューより起動・終了 Tomcat5:スタートメニューより起動・タスクバー内のアイコンを右クリックしメニューより終了 ・Tomcat4.1.12以降では、confフォルダ内のweb.xmlの中で、invokerに関する<!--と-->を削除する。 <!-- <servlet> <servlet-name>invoker</servlet-name> <servlet-class> ・・・ </servlet> --> ・・・ <!-- <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> --> |
|
正誤表(第1版) | |
・p84 Sample8.java (誤)ic = new ImageIcon(getDocumentBase(), "car.gif")); (正)ic = new ImageIcon(getImage(getDocumentBase(), "car.gif")); ----------------------- 7刷以降訂正ずみ ----------------------- ・p7 1行目 (誤)java (正)javac ・p167 図下2・3行目 (誤)action= (正)method= ----------------------- 6刷以降訂正ずみ ----------------------- ・P75コード中引き出し線内 (誤)ボタンを6つ作成します。 (正)ボタンを10個作成します。 ・P87コード中18行目 (誤)//コンポーネントの作成 (正)//コンポーネントの設定 ・P154一番下の引き出し線番号追加 (正)丸4 ・P172コード中 (誤)16行目のdt=new Date(); (正)18行目else内の最終行へ移動 ・P194本文上から1行目 (誤)第7章で作成した (正)第6章で作成した ----------------------- 4刷以降訂正ずみ ----------------------- ・P90コード中8行目 (誤)private JLabel pn; (正)private JPanel pn; ----------------------- 3刷以降訂正ずみ ----------------------- ・P246下から4行目 (誤)同じ種類の値を記憶する (正)オブジェクトをまとめて管理する ・P312コード中7・8行目privateフィールド (正)削除 ----------------------- 2刷以降訂正ずみ ----------------------- ・4章Sample7、4章Sample8、4章Sample10 5章Sample8、4章練習2解答中 (誤)ic = new ImageIcon("car.gif"); (正)ic = new ImageIcon(getImage(getDocumentBase(), "car.gif")); ・4章Sample9中 (誤)ic = new ImageIcon("br.gif"); (正)ic = new ImageIcon(getImage(getDocumentBase(), "br.gif")); ・5章Sample6中 (誤)setIcon(ImageIcon("br.gif"); (正)setIcon(new ImageIcon(getImage(getDocumentBase(), "br.gif"))); ・125ページ (誤)} 5行目 の閉じカッコを (正)} 最下行 の閉じカッコと訂正 ・83ページ表最下段、360ページ表11段目 (誤)void setIcon(setIcon) (正)void setVerticalTextPosition(int TextPosition) ・85ページ下から2行目 (誤)newFont (正)new Font ・91ページSample10コード中 ボーダーレイアウトがグリッドレイアウトになっている ・・・ public class Sample10 extends JApplet { private JLabel lb; private JPanel pn; 追加 ・・・ //コンポーネントの作成 lb = new JLabel("いらっしゃいませ。"); pn = new JPanel(); 追加 ・・・ //コンテナへの追加 (1行増) pn.add(bt); //訂正 cnt.add(lb, BorderLayout.NORTH); 訂正 cnt.add(pn, BorderLayout.SOUTH); 訂正 } ・93ページSample11コード中 ボーダーレイアウトがグリッドレイアウトになっている ・・・ public class Sample11 extends JApplet { private JLabel lb; private JPanel pn; 追加 ・・・ //コンポーネントの作成 lb = new JLabel("いらっしゃいませ。"); pn = new JPanel(); 追加 ・・・ //コンテナへの追加 (1行増) pn.add(ch1); 訂正 pn.add(ch2); 訂正 cnt.add(lb, BorderLayout.NORTH); 訂正 cnt.add(pn, BorderLayout.SOUTH); 訂正 } ・211ページコード中最後の吹き出し (誤)編集データを作成するメソッドです (正)結果データを作成するメソッドです ・247ページ 上から4行目 (誤)ここでは「列名」をcolumnに、 (正)ここでは「列名」をcolnameに、 |
|