こんにちは。普段主にC++を使っていて、趣味と実益を兼ねて少しずつJavaを勉強してきた者です。
時間に少し余裕ができてきたのでテキスト整形ソフトをJavaで作ってみようと思っているのですが、基本的なところでいくつか疑問があります。
ご教授いただければ幸いです。

1・現在日本ではJavaは主にサーブレット開発で使われており、アプリケーションソフトに使われることはあまりないそうですが、それは実際そうですか? また、やはり速度面からいって今後もそのような状況が続きそうですか? Javaでアプリケーションを作ることはあまり意味がないことでしょうか。

2・JavaのGUI用のクラスライブラリにはSwing(JFC)と、マイクロソフトが開発したVJ用のクラスライブラリ(名前を忘れました)があるようですが、(あえて使うならば)これらはどちらが主に使われているのでしょうか? またVJはすでに製造中止?になっているそうなのでMSのクラスライブラリは覚えても無駄でしょう?

3・VJで本に載っていた(「Java実例プログラムによるデザインパターン入門」)JFCのクラスを使おうとしたのですが、どうもインストールされていないようです。VJでSwingを使うにはどうしたらいいでしょうか?

以上、とりあえず気になっている点をあげてみました。
他にもお気づきの点があればぜひご指摘下さい。
よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

1.統計などを調べたわけではないので何とも言えませんが、Javaアプリケーションを実行するためのはJavaのライブラリをインストールしなければならないので、あまり一般コンシューマ向けのアプリケーションでjavaを見ることは無いですね。

これは特に速度面という訳ではなく、ユーザーのPC上にそういう環境を作らなければならないという「面倒さ」によるものだと思います。
2.Javaの親元であるサンマイクロシステムズと、マイクロソフトはVisual J++に関する訴訟で揉めています。原因はVJがJavaに勝手な拡張を加え、「一度コーディングすれば、どのようなプラットフォームでも動作する」というJavaの基本的なメリットを阻害するようなコーディングを奨めている という事が原因です。その関係でマイクロソフト社はサンからVJを「正式なjavaの開発環境」として認めて貰うことができなくなり、事実上Javaの開発環境としては止まっています。現在マイクロソフト社はJavaよりもコーディングしやすいC#(シー・シャープ)という言語の開発を進めており、VJがアップグレードされる可能性はほぼ無いと言って良いと思います。

3.長くVJに触っていないので、間違っているかも知れませんが、VJが「停滞」してしまったのがJFC等が正式にリリースされる前だったからでしょう。
個人的には現在のJavaを知り、Javaのアドバンテージを活用しないのならVJは使わないというのが一番だと考えます。

個人的には現在においては、ボーランド社のJBuilderを使用するのが最も賢明ではないかと考えます。
http://www.borland.co.jp
基本的な開発環境としての機能は無料でダウンロードできるJBuilder Foundationで確認できます。

参考URL:http://www.borland.co.jp
    • good
    • 0
この回答へのお礼

こんにちは。ご回答をありがとうございました。
1:なるほどたしかにjava-vmなど設定しなければならないことがあります
ね。
2:大方それらの話しを聞いたり読んだりしていたのですが、やはりVJは
java開発環境としては終わっているようですね。
なお自己レスできなかったのですが、vjにはたしかにswingが標準搭載され
ていませんが、ライブラリをsunからダウンして、vjに登録したところswing
を使うことはできました。

3:javaを使うかもしれないという話しはあったので趣味もかねて勉強して
いたのですが、つい先程上司からJBuilderで開発することになるだろうから
勉強しておくよう正式に言われ、JBuilder3をインストールしました(^^)
実際の開発はJBuilder4になるようです。

とても参考になるお話をありがとうございました。
またなにかありましたらお願いいたします。

お礼日時:2001/06/04 13:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QJavaのクラスライブラリ(?)の場所は?

Javaを学び始めて3日のものです。

別に知る必要はないかもしれないのですが、
java.langパッケージのようなimport文を必要としない
ライブラリはハードディスクのどのファイルの中に収まって
いるのでしょうか?

なぜ使用できるのかがわからないと気分が悪いです。

ちなみにWindows98でJDKは1.3.1で
「C:\Program Files\jdk1.3.1」にインストールしました。

Aベストアンサー

そのディレクトリの jre\lib\rt.jar を適当な場所にコピーし、
「rt.zip」にリネームして展開してみましょう。

参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/tooldocs/win32/classpath.html

Qjavaのプログラムについてです。(Swingを使っています)

javaのプログラムについてです。(Swingを使っています)
円の描写は成功しました。ですが、実行して縮小したら消えてしまいます。
どうしてでしょうか?
私の予想ですが、このプログラム自体(円自体)が中心に表示されてないとおもいます。
円を中心に表示するやり方を教えていただけないでしょうか?(TextFieldの中に円は表示させています)
そしてその円を縮小、拡大したら大きさが変わらず画面の中心に表示されることのできるプログラムを作りたいとおもっています。
みなさん助言をお待ちしています。

Aベストアンサー

ご参考になれば幸いです。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import java.net.*;

public class le extends JPanel implements ActionListener {
private JLabel lb;
private JTextField lc;
private JButton bt;
private JPanel pn1,pn2;
private int x, y, w, h, R;

private DrawOvalPane dop;

public static void main(String args[]) {

JFrame frame = new JFrame("サンプル");
frame.setContentPane(new le());

frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});

frame.pack();

frame.setVisible(true);

}

public le() {

dop = new DrawOvalPane();

//ラベルとテキストフィールドの作成
lb = new JLabel("半径を入力してください : " , JLabel.RIGHT);
lc = new JTextField();
lc.addActionListener(this);

bt = new JButton("決定");
pn1 = new JPanel();
pn2 = new JPanel();

//pn1パネルはGridLayoutで1行2列
pn1.setLayout(new GridLayout(1,2));

//pn1パネルへラベルとテキストフィールドの追加

pn1.add( lb);
pn1.add( lc);
//pn2パネルへボタンの追加
pn2.add( bt);

setLayout(new BorderLayout());
add("North", pn1);

add("Center", dop);

add("South", pn2);
//リスナの登録
bt.addActionListener(new SampleActionListener());

}

// 半径を入力し、エンターキーを押したときに実行される
public void actionPerformed(ActionEvent bt){

dop.repaint();

}
// 円を描くクラス
class DrawOvalPane extends JPanel {

public void paintComponent(Graphics g){
super.paintComponent(g);
if( lc.getText() .equals ("") || lc.getText() .equals( null) ) {
return;
}

try{
R = Integer.parseInt(lc.getText());
} catch (NumberFormatException nfe){
System.out.println(nfe);
}

Dimension d = dop.getSize();
x = (d.width - R*2) / 2;
y = (d.height - R*2) / 2;
h = w = 2 * R;

g.drawOval(x, y, w, h);

}
}

public Dimension getMinimumSize() {
return new Dimension(700,700);
}
public Dimension getPreferredSize() {
return getMinimumSize();
}

//決定ボタンをクリックした時のアクション
class SampleActionListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
//lc.setText("終了");
dop.repaint();
}
}

}

ご参考になれば幸いです。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import java.net.*;

public class le extends JPanel implements ActionListener {
private JLabel lb;
private JTextField lc;
private JButton bt;
private JPanel pn1,pn2;
private int x, y, w, h, R;

private DrawOvalPane dop;

public static void main(String args[]) {

JFrame frame = new JFrame("サンプル");
frame.setContentPane(new le());

frame.addWindowListener(new Wi...続きを読む

QJavaでのSwingを使った簡易電卓作成

Javaについて勉強中の学生です。
よろしくお願いします。

CGIによるプログラムは一通り勉強しました。
次にGUIによるプログラムを勉強中です。

そこで電卓を作ってみようと思いましたが、よくわからないところがあります。
ご教示いただければ幸いです。

一応外見だけは作ることができましたが、イベントを登録するときに電卓のボタンをbtn1,btn2,btn3…とすればイベントを登録することはできるのですが、それだとボタンの分だけ作成しなければならず修正を加えるのが大変になってしまいます。
例)btn1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
hyozi.setText(hyozi.getText() + "1");
}
}

そこで「btn」に統一しボタンに表示されている文字列を使い簡潔にプログラムをまとめたいのですがどのようにすればよいのかわかりません。以下のプログラムに追加できるようなものを教えていただけないでしょうか?

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Dentaku{
private JFrame frame;
private JPanel panel_fun,panel_ten;
private JTextField hyozi;
private JButton btn;

public Dentaku(){
//フレームの作成してレイアウトをセット
frame = new JFrame("簡易電卓プログラム");
frame.setLayout(new BorderLayout());

//パネルを作成してレイアウトをセット
panel_fun = new JPanel();
panel_fun.setLayout(new GridLayout(2,3));

panel_ten = new JPanel();
panel_ten.setLayout(new GridLayout(4,3));


//表示用テキストボックスを作成
hyozi = new JTextField();

//電卓のボタンを作成
panel_fun.add(btn = new JButton("CA"));
panel_fun.add(btn = new JButton("+"));
panel_fun.add(btn = new JButton("-"));
panel_fun.add(btn = new JButton("*"));
panel_fun.add(btn = new JButton("/"));
panel_fun.add(btn = new JButton("="));

panel_ten.add(btn = new JButton("1"));
panel_ten.add(btn = new JButton("2"));
panel_ten.add(btn = new JButton("3"));
panel_ten.add(btn = new JButton("4"));
panel_ten.add(btn = new JButton("5"));
panel_ten.add(btn = new JButton("6"));
panel_ten.add(btn = new JButton("7"));
panel_ten.add(btn = new JButton("8"));
panel_ten.add(btn = new JButton("9"));
panel_ten.add(btn = new JButton("0"));

//フレームに表示用テキストボックスをセット(BorderLayoutの北側)
frame.add(hyozi,BorderLayout.NORTH);

//フレームにパネルをセット(BorderLayoutの中央,南側)
frame.add(panel_fun,BorderLayout.CENTER);
frame.add(panel_ten,BorderLayout.SOUTH);

//フレームの詳細設定
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,250);
frame.setVisible(true);
}

//mainメソッドの定義
public static void main(String[] args){
Dentaku application = new Dentaku();
}
}

Javaについて勉強中の学生です。
よろしくお願いします。

CGIによるプログラムは一通り勉強しました。
次にGUIによるプログラムを勉強中です。

そこで電卓を作ってみようと思いましたが、よくわからないところがあります。
ご教示いただければ幸いです。

一応外見だけは作ることができましたが、イベントを登録するときに電卓のボタンをbtn1,btn2,btn3…とすればイベントを登録することはできるのですが、それだとボタンの分だけ作成しなければならず修正を加えるのが大変になってしまいます。
例)btn1.addActio...続きを読む

Aベストアンサー

ボタンごとにリスナーを作るんじゃなくて、
DentakuクラスにActionListenerを実装しなよ。

public class Dentaku implements ActionListener{

  public void actionPerformed(ActionEvent event){
    String command = event.getActionCommand();
    …
    各ボタン(アクションコマンド)ごとの振る舞い
  }
  public Dentaku(){
    …
    btn1.addActionListener(this);
    …
  }

QJavaの拡張ライブラリをインストールする時にdllファイルを使った

あるJavaの拡張ライブラリ(下記URLのもの)をインストールする時に、extディレクトリにjarファイルを貼り付けて、さらに付属のdllファイルをsystem32ディレクトリに貼り付ける必要がありました。

あまり、拡張ライブラリをインストールしたことがなかったのですが、少し調べてみるとjarファイルをextディレクトリに置くのは普通らしいのですが、dllファイルを使うというのはあまり聞きません。

jarファイルにはクラスが入っていると思うのですが、dllファイルには、どのような意味があるのでしょうか?

よろしくお願いします。

http://sourceforge.net/projects/netsnmpj

Aベストアンサー

どのような拡張ライブラリが詳細は見ておりませんが…。

おそらく、100% Pure Java(純粋なJava APIのみで実装されたもの)で実現できない機能をCやC++などのネイティブコードで書いて、jarファイル内にあるクラスの中でJNI(Java Native Interface)を使用して呼び出しているのでしょう。
dllファイルはそのネイティブコードにあたる部分になります。

なお、この拡張ライブラリは100% Pure Javaではない(環境依存する)ので、その点は注意して下さいね。

QPHP開発環境 にJava開発環境を統合

Eclipseを使用して、PHPの開発環境を構築しています。アンインストールせずに、Javaの開発環境を統合して構築することは可能でしょうか?そもそもEclipseはJava開発用であったためか、Java開発環境にPHP開発環境をプラグインしていることが多いようです。Windowsであるため、インストーラでインストールしたいと考えています。

Aベストアンサー

>Javaの開発環境を統合して構築することは可能でしょうか?

可能。というか、よほど特殊なリビジョン以外既に入っているのでは?

>インストーラでインストールしたいと考えています

今どきのeclipseのプラグインはインストール不要。


人気Q&Aランキング

おすすめ情報