[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends] JDK1.2.2でHGridのセルが見えない
えんどうです。
ひがさんのデータベース対応コンポーネントを使っています。
http://www.javaopen.org/jfrineds/dbcompo.html
Windows 95, JDK1.2.2, Oracle 7.3で、HGrid を使うアプレットを書きました。
(アプリケーションとして実行)
メモリーが 32MB のマシンなので JBuilder は使っていません。
Oracle 7.3 にはコネクトできて、HNavigator でナビゲートもできるのですが、
HGrid にセルが表示されません。
(デフォルトの、左上にひとつヘッダーのセルがある状態)
個々のセルの領域をクリックして、編集状態にするとそのセルだけ表示されます。
何がいけないんだろう...
[実行結果]
d:\javastart\jdbc>java HApplet
driver=Oracle JDBC driver
product=Oracle
version=Oracle7 Workgroup Server Release 7.3.2.2.1 - Production Release
PL/SQL Release 2.3.2.2.0 - Production
[ソース]
// JDBC Component Test Applet
// HApplet.java (AWT Components)
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import higa.sql.*;
import higa.sql.dataset.*;
import higa.jhcl.model.*;
import higa.jhcl.control.*;
import higa.jhcl.view.*;
public class HApplet extends Applet {
private static final String ORA_DRIVER = "oracle.jdbc.driver.OracleDriver";
private static final String ORA_URL = "jdbc:oracle:thin:@xxxxxxxxxx:1521:ORA7";
private static final String ORA_USER = "agent007";
private static final String ORA_PASSWORD = "goldfinger";
HDatabase database_ = new HDatabase(); //
HDataSet dataset_ = new HDataSet(); //
HNavigator navigator_ = new HNavigator();
HGrid grid_ = new HGrid();
Label slabel_ = new Label();
public HApplet() {
}
public void jbInit() {
// GUI の構築
this.setLayout( new BorderLayout() );
Panel uppanel = new Panel();
this.add(uppanel, "North");
navigator_.setDataSet(dataset_);
uppanel.add(navigator_);
grid_.setDataSet(dataset_);
this.add(grid_, "Center");
grid_.paintAll( this.getGraphics() );//TEST
Panel spanel = new Panel();
this.add(spanel, "South");
spanel.add(slabel_);
}
public void init() {
// Oracleとの接続
database_.setDriver(ORA_DRIVER);
database_.setConnectionURL(ORA_URL);
database_.setUserName(ORA_USER);
database_.setPassword(ORA_PASSWORD);
try {
database_.setAutoCommit(false);
database_.open();
DatabaseMetaData meta = database_.getMetaData();
System.out.println("driver=" + meta.getDriverName());
System.out.println("product=" + meta.getDatabaseProductName());
System.out.println("version=" + meta.getDatabaseProductVersion());
// HDataSet 構築
String query = "SELECT * FROM GOLF_SCORE";
dataset_.setDatabase(database_);
dataset_.setQuery(query);
dataset_.open();
} catch (SQLException ex) {
int errcode = ex.getErrorCode();
String message = ex.getMessage();
String state = ex.getSQLState();
System.out.println("SQL ERROR:");
System.out.println("errcode=" + errcode + ", message=" + message + ", state=" + state);
} catch (Exception ex) {
// open() のエラー
String message = ex.getMessage();
System.out.println("ERROR:");
System.out.println("message=" + message);
}
// GUIの構築
jbInit();
}
public void destroy() {
// Oracleからの切断
// HDataSet のクローズ
if (dataset_ != null) {
if ( dataset_.isOpen() ) {
try {
dataset_.close();
} catch (SQLException ex) {
//
int errcode = ex.getErrorCode();
String message = ex.getMessage();
String state = ex.getSQLState();
System.out.println("DATASET CLOSE ERROR:");
System.out.println("errcode=" + errcode + ", message=" + message + ", state=" + state);
}
}
}
// HDatabase のクローズ
if (database_ != null) {
if ( database_.isOpen() ) {
try {
database_.close();
} catch (SQLException ex) {
//
int errcode = ex.getErrorCode();
String message = ex.getMessage();
String state = ex.getSQLState();
System.out.println("DATABASE CLOSE ERROR:");
System.out.println("errcode=" + errcode + ", message=" + message + ", state=" + state);
}
}
}
}
public static void main(String[] args) {
Frame f = new Frame();
final HApplet applet = new HApplet();
f.add(applet);
applet.init();
applet.start();
f.addWindowListener( new WindowListener() {
public void windowOpened( WindowEvent e ){}
public void windowClosed( WindowEvent e ){}
public void windowClosing( WindowEvent e ){
applet.destroy();
System.exit(0);
}
public void windowIconified( WindowEvent e ){}
public void windowDeiconified( WindowEvent e ){}
public void windowActivated( WindowEvent e ){}
public void windowDeactivated( WindowEvent e ){}
});
f.pack();
f.setSize(400, 320);
f.show();
}
}
--
ENDO Yasuyuki <yasuyuki@xxxxxxxxxx>
http://www.javaopen.org/jfriends/ (Japanese Only)