fc2ブログ
2013-07-06(Sat)

コンパイルできない!

ひとりでできてないもん!

まぁ出落ちですね(´¬`)

今javaのSwingってのでDBからリストを表示して

さらに選択した項目を取り出して、編集する!

ということをしているのですが...

せんせーサイトにアップされた以降に仕様変更があるらしく、

コンパイルできない!

という状態に陥り...

足踏み\(^o^)/状態!


とりあえずせんせーのとこからコピペしたものの...↓

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

class PrefFrame extends JFrame implements ActionListener, ListSelectionListener {
Container cp;
JLabel lb1;
JList lt;
JButton btn1, btn2, btn3, btn4;
JMenuItem mi1, mi2, mi3, mi4, mi5, mi6;

public PrefFrame(String title) {
//フレームのタイトル
setTitle(title);

//コンテンツペイン取得
cp = getContentPane();

//ウィンドウを閉じる時
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
showExitDialog();
}
});

//Look&Feelの設定
/*
String type = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
try {
UIManager.setLookAndFeel(type);
} catch (Exception e ) {
System.out.println("例外発生:" + e );
}
*/
//メニューバーの生成
JMenuBar mb = new JMenuBar();

//メニューの生成
JMenu mn1 = new JMenu("ファイル");
JMenu mn2 = new JMenu("編集");
JMenu mn3 = new JMenu("検索");

//メニュー項目の生成
mi1 = new JMenuItem("追加");
mi2 = new JMenuItem("更新");
mi3 = new JMenuItem("削除");
mi4 = new JMenuItem("終了");
mi5 = new JMenuItem("検索");
mi6 = new JMenuItem("全件表示");

//イベントリスナーの登録
mi1.addActionListener(this);
mi2.addActionListener(this);
mi3.addActionListener(this);
mi4.addActionListener(this);
mi5.addActionListener(this);
mi6.addActionListener(this);

//メニューへの追加
mn1.addSeparator(); //セパレーター
mn1.add(mi4);

mn2.add(mi1);
mn2.add(mi2);
mn2.add(mi3);

mn3.add(mi5);
mn3.add(mi6);

//メニューバーへの追加
mb.add(mn1);
mb.add(mn2);
mb.add(mn3);

//メニューバーをフレームへ追加
setJMenuBar(mb);


//ラベル
lb1 = new JLabel("ボタンをクリックしてください。", SwingConstants.CENTER);
lb1.setOpaque(true);
lb1.setFont(new Font("Dialog", Font.PLAIN, 12));
lb1.setBackground(Color.WHITE);
lb1.setForeground(Color.BLUE);
cp.add(lb1, BorderLayout.NORTH);

//リスト
lt = new JList();
lt.setFont(new Font("Dialog", Font.PLAIN, 14));
lt.setForeground(new Color(64, 64, 64));
lt.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
lt.addListSelectionListener(this);

JScrollPane sp = new JScrollPane(lt);
cp.add(sp, BorderLayout.CENTER);

//パネル
JPanel pn1 = new JPanel();
pn1.setLayout(new GridLayout(1, 4));

//ボタンの設定
btn1 = new JButton("追加");
btn2 = new JButton("更新");
btn3 = new JButton("削除");
btn4 = new JButton("終了");

btn4.setForeground(new Color(255, 0, 0));

btn1.addActionListener(this);
btn2.addActionListener(this);
btn3.addActionListener(this);
btn4.addActionListener(this);

pn1.add(btn1);
pn1.add(btn2);
pn1.add(btn3);
pn1.add(btn4);

//パネルを追加
cp.add(pn1, BorderLayout.SOUTH);

//データ表示
prefDisplay();
}

public void actionPerformed (ActionEvent e) {
Object obj = e.getSource();
if (obj == btn1 || obj == mi1) {

}else if (obj == btn2 || obj == mi2) {

}else if (obj == btn3 || obj == mi3) {

}else if (obj == btn4 || obj == mi4) {
showExitDialog();
}else if (obj == mi5) {

}else if (obj == mi6) {

}
}

public void valueChanged (ListSelectionEvent e) {
String str = (String)lt.getSelectedValue();
StringTokenizer st = new StringTokenizer(str, ",");

int arraySize = st.countTokens();
String[] tkn = new String[arraySize];
int i = 0;

while(st.hasMoreTokens()) {
tkn[i] = st.nextToken();
i++;
}

lb1.setText("PREF_CD:" + tkn[0] + " PREF_NAME:" + tkn[1]);
}

private void prefDisplay () {
try {
//データベースに接続
Connection con = SampleDb030.getConnection();
//ステートメントオブジェクトを作成
Statement stmt = con.createStatement();

//SQL文作成
String mySql = "select * from T01Prefecture order by PREF_CD";
//検索するSQL実行
ResultSet rs = stmt.executeQuery(mySql);

ArrayList listData = new ArrayList(); //←ここも怪しい


//結果セットからデータを取り出す next()で次の行に移動
while(rs.next()) {
int prefCd = rs.getInt("PREF_CD");
String prefName = rs.getString("PREF_NAME");
listData.add(prefCd + "," + prefName);
}

lt.setListData(listData.toArray()); //←この人がエラー

//オブジェクトを解放
rs.close();
stmt.close();
con.close();

} catch (Exception e) {
System.out.println("例外発生:" + e );
}
}

private void showExitDialog () {
//終了ダイアログボックスの表示
int ret = JOptionPane.showConfirmDialog (cp, "プログラムを終了しますか?", "確認", JOptionPane.YES_NO_OPTION);

if(ret == JOptionPane.YES_OPTION) {
System.exit(0);
}

}

}


public class PrefTest {

public static void main(String args[]) {
PrefFrame frm = new PrefFrame("都道府県マスター");
//フレームの設定
frm.setLocation(300, 200);
frm.setSize(250, 350);
frm.cp.setBackground(Color.LIGHT_GRAY);
frm.setVisible(true);
}

}
ということらしいのです...(´・ω・`)

調べると、

raw型JlistのメンバーとしてのsetListData(E[])への無検査呼び出し
lt.setListDate(listDate.toArray());←こいつが×

とコマンドプロンプトさんが仰られておるのですが...

わたし初心者ですから!

つまりはどういうこと???ってなっているわけですね(´・ω・`)

色々調べてはいるものの、解決策になりそうないいものに巡り合えず( ´_ゝ`)

かれこれ数時間悩んでいる次第です。

解決なるか!?

テーマ : ひとりでできるもん
ジャンル : コンピュータ

tag : JavaGUIプログラミングSwingAWT

コメントの投稿

管理者にだけ表示を許可する

コメント

プロフィール

H@RUCO

Author:H@RUCO
1983/05/17 ♂ 新潟県
H@RUCOと書いてハルコと読みます
(親戚のおっちゃんからそう呼ばれて定着)
とりあえずなんでもやってみないとね!
eclipceでアプリ制作の学習をしています(´¬`)←ついに止まった!
自堕落万歳!
現在St@Nthのデザイナーとして適当に活動中(´¬`)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
メールフォーム

名前:
メール:
件名:
本文:

SNS
検索フォーム
RSSリンクの表示
支援したらいいねっか!
特定非営利活動法人OVA


命を守りたい
OVAは、自ら「助けて」と声をあげられない人たちに
テクノロジーを用いて、かかわり、
そして命を守ります。


zipDwarfs

(ジップドワーフス)

何気ない日常のゴミを生き返らせた作品や
自然素材を使った暖かみのある作品の
展示・販売を行なうハンドメイドブランド


web Cosmic Farm
雑貨通販コズミックファーム

雑貨通販ならコズミックファーム!
0歳~200歳まで楽しめる遊びのスポット!
まるでおもちゃ箱の中を歩いているような
不思議な体験に出会えます!
牛柄グッズも充実!


W2P
ヘアメイク・カメラマン届けます
企画・アイディア届けます

リンク

ブロとも申請フォーム

この人とブロともになる

QRコード
QR
買ったらいいねっか!