お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2014-03-06 12:18:16

luffy
新しいメンバ
登録日: 2014-03-06

javaプログラムでブートストラップを解消する方法がわかりません。

 UbuntuにてJavaを勉強している初心者です。現在オライリー社の”詳解Javaプログラミング”という本を参考にJavaを勉強しています。

 この本の中の”HelloJava3.java”をコンパイルしようとしたら、NetBeans上で”警告: [options] ブートストラップ・クラスパスが-source 1.6と一緒に設定されていません”
というメッセージが出て、JButtonの変数theButtonを認識してくれません。

 自分で調べたところhttp://www.javaroad.jp/bbs/answer.jsp?q_id=2012120512023815の問題が自分とよく似ていたため、これを参考に色々とjavacをいじってみました。

 javac ・・・・・で、-target A のところのAの部分を1.6 にすると”デフォルトリリース1.7と競合しています。”というような内容のメッセージが出て、Aの部分を1.7に変えると”致命的エラー: クラスパスまたはブート・クラスパスでパッケージjava.langを検出できません。”というメッセージが出ます。
 参考までに、ターミナル上での操作状況を以下に掲示します。

  選択肢    パス                                         優先度  状態
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java   1071      自動モード
  1            /usr/bin/gij-4.7                                1047      手動モード
  2            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1061      手動モード
  3            /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java   1071      手動モード

現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください:
●●●●@●●●●●:~$ javac -target 1.7 -bootclasspath /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java -extdirs "" HelloJava3.java
javac: ファイルが見つかりません: HelloJava3.java
使用方法: javac <options> <source files>
使用可能なオプションのリストについては、-helpを使用します
●●●●@●●●●●:~$ cd JAVAプログラム
●●●●@●●●●●:~/JAVAプログラム$ javac -target 1.7 -bootclasspath /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java -extdirs "" HelloJava3.java
致命的エラー: クラスパスまたはブート・クラスパスでパッケージjava.langを検出できません

 この他にも私の拙い知識・知恵を使って色々試しましたが、うまく行きません。

これが原因で、JButtonの変数theButtonを認識できないようです。

 HelloJava3.javaのプログラムは以下の通り。

//file: HelloJava3.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class HelloJava3
{
  public static void main( String[] args ) {
    JFrame frame = new JFrame( "HelloJava3" ) ;
    frame.getContentPane().add( new HelloComponent3("hello Java!") );
    frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    frame.setSize( 300, 300 );
    frame.setVisible( true );
  }
}


class HelloComponent3 extends JComponent
    implements MouseMotionListener,ActionListener
{
String theMessage;
int messageX = 125, messageY = 95; // メッセージの座標

JButton theButoon;

int colorIndex; // someColorsの現在の指標
static Color[] someColors = {
   Color.black, Color.red, Color.green, Color.blue, Color.magenta };

public HelloComponent3( String message ){
   theMessage = message;
   theButton = new JButton( );
   theButton.setText("Change Color");
   setLayout( new FlowLayout( ) );
   add( theButton );
   theButton.addActionListener( this );
   addMouseMotionListener( this );
}

public void paintComponent( Graphics g){
   g.drawString(theMessage, messageX, messageY);
}


public void mouseDragged( MouseEvent e ){
   messageX = e.getX( );
   messageY = e.getY( );
   repaint( );
}

public void mouseMoved( MouseEvent e ){}

public void actionPerformed( ActionEvent e ){
   // 誰かがボタンを押した?
   if (e.getSource( ) == theButton)
     changeColor( );
}

synchronized private void changeColor( ){
   // 厄介な方法で指標を次のカラーに変更する
   if (++colorIndex == someColors.length)
     colorIndex = 0;
   setForeground( currentColor( ) ); // 新しいカラーを使う
   repaint( );
}

synchronized private Color currentColor( ){
   return someColors[colorIndex];
}
}


ちにみに、これの前までの”HelloJava.java”と”Hellojava2.java”のプログラムはうまく動作しました。

私のパソコン環境は以下のとおりです

ノートパソコン:Compaq 620
OS:Ubuntu 13.04
メモリ:3.8 GiB
プロセッサ:Celeron(R) Dual-Core CPU T3000 @ 1.80GHz × 2
グラフィック:Mobile Intel® GM45 Express Chipset x86/MMX/SSE2
OS種別:32 ビット
ディスク:153.2 GB

ネット環境はわけあってテザリングで対応してます。(WiFi環境なし)

以上、ご教授のほど宜しくおねがいします。

オフライン

 

#2 2014-03-06 21:27:07

aaabbbcccdddeeefffggghhh
メンバ
登録日: 2008-02-25

Re: javaプログラムでブートストラップを解消する方法がわかりません。

Ubuntuは関係なくて、ソースコードにミスがあるように見えます。

HelloJava3.javaのソースコードを修正してコンパイルしてみたら動きましたよ。
ボタンを押したら hello Java! の色が変わるんですよね?

試した環境は、

Ubuntu 13.10

$ java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

です。

オフライン

 

#3 2014-03-07 09:13:54

luffy
新しいメンバ
登録日: 2014-03-06

Re: javaプログラムでブートストラップを解消する方法がわかりません。

 早速の御返事有難う御座います。

どのへんのコードが間違ってるのかわかりませんが、再度チェックしてみます。
もし、可能であればどのへんのコードが間違っているのか、教えていただければ助かります。
こちらの都合で中々返信ができないと思いますが、よろしくお願いいたします。

オフライン

 

#4 2014-10-13 19:05:48

DeboraLee
新しいメンバ
登録日: 2014-10-13

Re: javaプログラムでブートストラップを解消する方法がわかりません。

致命的エラー: クラスパスまたはブート・クラスパスでパッケージjava.langを検出できません

オフライン

 

Board footer

Powered by FluxBB