-1

訪問者の画像やその他の詳細をテーブル tbl_visitor に保存しています。コードは次のとおりです。

    String string_op="F:\\POSTERS\\Roses\\TROPIC4.png"; 
    File imageFile = new File(string_op);
    FileInputStream fis = new FileInputStream(imageFile);

    String queryVis="insert into tbl_visitor(visitor_name,contact_no," +
            "job_profile,org_name,photo_id_proof,type_of_visitor,date," +
            "extra_people,image) values('"+
            name_of_visitor.getText()+"','"+
            contact_num.getText()+"','"+
            job_profile.getText()+"','"+
            org.getText()+"','"+
            photo_id_num.getText()+"','"+
            type_of_visitor.getSelectedItem().toString()+"','"+
            date_and_time.getText()+"','"+
            tf1.getText()+"','"+
            "fis,(int)imageFile.length()"+"')"; 

JFrameに画像を表示し、JLabelを使用して画像を表示したいのですが、JLabelに画像を割り当てることができません。画像を表示するために次のコードを試しましたが、エラーが発生しました。

Blob image_vis = rs1.getBlob(10);
image_cap.setIcon(image_vis);

私を助けてください。

4

1 に答える 1

2

APIドキュメントを読むのに少し時間がかかる場合は、非常に簡単です。

BlobにはgetBinaryStream()があり、blobに格納されているデータを含むバイトのストリームを返します。

Iconを実装するImageIconには、引数としてバイト配列を受け取るコンストラクターがあります。

JLabelにはsetIcon(Icon)メソッドがあります。

したがって、Blobバイナリストリームからバイト配列にすべてを読み取り、このバイト配列を使用してImageIconを構築し、このImageIconを引数としてラベルsetIconメソッドを呼び出します。

于 2012-06-03T07:27:42.870 に答える