home *** CD-ROM | disk | FTP | other *** search
Java Source | 1997-07-19 | 6.6 KB | 194 lines |
- // Change package name to match actual directory where created
- package borland.samples.apps.SchemaEditor;
- import java.awt.*;
- import java.awt.event.*;
- import borland.jbcl.layout.*;
- import borland.jbcl.control.*;
- import borland.jbcl.dataset.*;
-
- public class TestSchema {
- // !!! These variables must be hand edited to make sample work
- boolean useTableDataSet = true; //false->use a query DataSet
- // If you are using a local data file, set the following
- String tableDataSetName="C:\\JBuilder\\samples\\borland\\samples\\apps\\schemaeditor\\TestSchema.dat";
- // If you are using a local or remote SQL server, set the following
- String sqlDataBaseName="TestSchema";
- String sqlTableName="TestSchema";
- String sqlUserName="SYSDBA";
- String sqlPassword="masterkey";
-
- StorageDataSet dataSet;
- Database database1 = new Database();
- TextDataFile textDataFile1 = new TextDataFile();
-
- BorderLayout borderLayout1 = new BorderLayout();
- DecoratedFrame frame = new DecoratedFrame();
- TestPanel panel = new TestPanel();
- NavigatorControl navigatorControl1 = new NavigatorControl();
- StatusBar statusBar1 = new StatusBar();
-
- //Construct the application
- public TestSchema() {
- try {
- jbInit();
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- frame.pack();
- //Center the window
- Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
- Dimension frameSize = frame.getPreferredSize();
- if (frameSize.height > screenSize.height)
- frameSize.height = screenSize.height;
- if (frameSize.width > screenSize.width)
- frameSize.width = screenSize.width;
- frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
- frame.setVisible(true);
- }
-
- void jbInit() throws Exception{
- frame.setExitOnClose(false); //Allows us to grab the window closing event
- frame.addWindowListener(new TestSchema_frame_windowAdapter(this));
- frame.setLayout(borderLayout1);
- frame.add(navigatorControl1, BorderLayout.NORTH);
- frame.add(panel,BorderLayout.CENTER);
- frame.add(statusBar1, BorderLayout.SOUTH);
- frame.setTitle("Schema Editor");
- if (useTableDataSet) {
- textDataFile1.setFileName(tableDataSetName);
- dataSet=new TableDataSet();
- dataSet.setDataFile(textDataFile1);
- } else {
- database1.setConnection(new borland.jbcl.dataset.ConnectionDescriptor("jdbc:odbc:" + sqlDataBaseName, sqlUserName, sqlPassword, false, "sun.jdbc.odbc.JdbcOdbcDriver"));
- QueryDataSet qds = new QueryDataSet();
- qds.setQuery(new borland.jbcl.dataset.QueryDescriptor(database1, "select * from "+sqlTableName, null, true, false));
- dataSet=qds;
- }
- panel.setDataSet(dataSet);
- navigatorControl1.setDataSet(dataSet);
- statusBar1.setDataSet(dataSet);
- }
-
- void frame_windowClosing(WindowEvent e) {
- try {
- //Save any changes
- if (useTableDataSet) {
- textDataFile1.save(dataSet);
- } else {
- dataSet.saveChanges(); //Save query data set
- }
- } catch (Exception x) {x.printStackTrace();}
- System.exit(0);
- }
-
- //Main method
- static public void main(String[] args) {
- TestSchema ts = new TestSchema();
- System.out.println(ts.getCreateTableSQL());
- }
-
- //Returns a SQL string that can be used to create this table
- //in Local Interbase
- String getCreateTableSQL() {
- String sql;
- sql="create table "+sqlTableName+" (FirstName VARCHAR (30) NOT NULL PRIMARY KEY,LastName VARCHAR (30),Address VARCHAR (40),City VARCHAR (25),State VARCHAR (2),Zip INTEGER,Salary FLOAT (2))";
- return sql;
- }
- }
-
- // This panel can be reused in other applications
- // Note the use of a split panel to allow resizable panes
- // You will get a warning when you compile this until you extract it to a separate file
- public class TestPanel extends SplitPanel {
- BevelPanel panel1=new BevelPanel();
- BevelPanel panel2=new BevelPanel();
- GridLayout gridLayout1 = new GridLayout();
- DataSet dataSet;
-
- LabelControl label0 = new LabelControl();
- FieldControl field0 = new FieldControl(); //FirstName
- LabelControl label1 = new LabelControl();
- FieldControl field1 = new FieldControl(); //LastName
- LabelControl label2 = new LabelControl();
- FieldControl field2 = new FieldControl(); //Address
- LabelControl label3 = new LabelControl();
- FieldControl field3 = new FieldControl(); //City
- LabelControl label4 = new LabelControl();
- FieldControl field4 = new FieldControl(); //State
- LabelControl label5 = new LabelControl();
- FieldControl field5 = new FieldControl(); //Zip
- LabelControl label6 = new LabelControl();
- FieldControl field6 = new FieldControl(); //Salary
-
- public TestPanel() {
- try {
- jbInit();
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public void setDataSet (StorageDataSet s) {
- dataSet=s;
- field0.setDataSet(dataSet);
- field1.setDataSet(dataSet);
- field2.setDataSet(dataSet);
- field3.setDataSet(dataSet);
- field4.setDataSet(dataSet);
- field5.setDataSet(dataSet);
- field6.setDataSet(dataSet);
- }
-
- void jbInit() throws Exception{
- gridLayout1.setRows(-1);
- gridLayout1.setColumns(1);
- panel1.setLayout(gridLayout1);
- panel2.setLayout(gridLayout1);
- label0.setText("FirstName");
- field0.setColumnName("FirstName");
- panel1.add(label0,null);
- panel2.add(field0,null);
- label1.setText("LastName");
- field1.setColumnName("LastName");
- panel1.add(label1,null);
- panel2.add(field1,null);
- label2.setText("Address");
- field2.setColumnName("Address");
- panel1.add(label2,null);
- panel2.add(field2,null);
- label3.setText("City");
- field3.setColumnName("City");
- panel1.add(label3,null);
- panel2.add(field3,null);
- label4.setText("State");
- field4.setColumnName("State");
- panel1.add(label4,null);
- panel2.add(field4,null);
- label5.setText("Zip");
- field5.setColumnName("Zip");
- panel1.add(label5,null);
- panel2.add(field5,null);
- label6.setText("Salary");
- field6.setColumnName("Salary");
- panel1.add(label6,null);
- panel2.add(field6,null);
- //Create the split panels
- this.add(panel1,new PaneConstraints("panel1", "panel1", PaneConstraints.ROOT, 1.0f));
- this.add(panel2,new PaneConstraints("panel2", "panel2", PaneConstraints.RIGHT, 0.70f));
- }
- }
-
- class TestSchema_frame_windowAdapter extends java.awt.event.WindowAdapter {
- TestSchema adaptee;
- TestSchema_frame_windowAdapter(TestSchema adaptee) {
- this.adaptee = adaptee;
- }
-
- public void windowClosing(WindowEvent e) {
- adaptee.frame_windowClosing(e);
- }
- }
-
-