📄 formstart.java
字号:
package com.prcomps.cahitarf.gui;
import javax.swing.JRadioButton;
import javax.swing.JPanel;
import javax.swing.ButtonGroup;
import javax.swing.JFileChooser;
import javax.swing.JList;
import javax.swing.ListSelectionModel;
import javax.swing.JScrollPane;
import java.util.ResourceBundle;
import java.util.Iterator;
import java.io.File;
import java.io.InputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import com.prcomps.cahitarf.Db2Arff;
import com.sohlman.easylayout.EasyLayout;
import com.sohlman.easylayout.Constraint;
/**
*/
public class FormStart
extends JPanel
implements IWizardPanel, ActionListener
{
private ResourceBundle bundle = WizardFrame.getBundle();
private ButtonGroup selector = new ButtonGroup();
private JRadioButton btnNew = new JRadioButton();
private JRadioButton btnOld = new JRadioButton();
private JList lstFiles = new JList();
public FormStart()
{
setName( WizardFrame.FORM_START );
createForm();
}
private void createForm()
{
btnNew.setText( bundle.getString("wizard.start.btnNew.text") );
btnOld.setText( bundle.getString("wizard.start.btnOld.text") );
btnNew.setSelected( true );
selector.add( btnNew );
selector.add( btnOld );
btnOld.addActionListener( this );
btnNew.addActionListener( this );
setLayout( new EasyLayout( new int[] { 40, 60 }, new int[] { 50, 0, 50 }, 5, 5 ) );
//add( new JPanel(), new Constraint( 0, 0 ) );
add( btnNew, new Constraint( 1, 0, Constraint.LEFT, Constraint.BOTTOM, 5, 0 ) );
//add( new JPanel(), new Constraint( 0, 1 ) );
add( btnOld, new Constraint( 1, 1, Constraint.LEFT, Constraint.TOP, 5, 0 ) );
lstFiles.setFixedCellWidth( 300 );
lstFiles.setAutoscrolls( true );
lstFiles.setVisibleRowCount( 7 );
lstFiles.setSelectionMode( ListSelectionModel.SINGLE_SELECTION );
lstFiles.setEnabled( false );
lstFiles.setListData( toFileList() );
JScrollPane scrList = new JScrollPane( lstFiles );
add( scrList, new Constraint( 1, 2, Constraint.LEFT, Constraint.TOP, 0, 5 ) );
}
private String[] toFileList()
{
String[] alist = new String[ WizardFrame.prefsFiles.size() + 1 ];
alist[0] = bundle.getString( "wizard.start.otherfiles" );
int n=1;
for ( Iterator i = WizardFrame.prefsFiles.iterator(); i.hasNext(); n++ )
alist[n] = (String) i.next();
return alist;
}
public void actionPerformed( ActionEvent e )
{
lstFiles.setEnabled( btnOld.isSelected() );
}
public String getNext()
throws NotReadyException
{
if ( selector.isSelected( btnNew.getModel() ) )
createDefProperties();
else
loadProperties();
return WizardFrame.FORM_DB;
}
public String getPrev()
throws NotReadyException
{
throw new NotReadyException( bundle.getString("wizard.formStart.noprev") );
}
public void checkStatus()
{
}
private void loadProperties()
throws NotReadyException
{
if ( lstFiles.getSelectedIndex() > 0 )
{
loadProperties( new File( (String) lstFiles.getSelectedValue() ));
return;
}
JFileChooser fc = new JFileChooser( System.getProperty( "user.dir" ) );
int result = fc.showOpenDialog( this );
if ( result == JFileChooser.APPROVE_OPTION )
{
loadProperties( fc.getSelectedFile() );
}
else
throw new NotReadyException( "" );
}
private void loadProperties( File pcaFile )
throws NotReadyException
{
if ( ! pcaFile.exists() )
throw new NotReadyException( "" );
if ( ! pcaFile.isFile() )
throw new NotReadyException( "" );
try
{
InputStream in = new FileInputStream( pcaFile );
WizardFrame.properties.load( in );
checkProperties();
addPrefsFiles( pcaFile.getPath().replace( '\\', '/' ) );
}
catch ( FileNotFoundException e )
{
throw new NotReadyException( "" );
}
catch ( IOException e )
{
throw new NotReadyException( "" );
}
}
private void checkProperties()
{
if ( ! WizardFrame.properties.containsKey( Db2Arff.PROP_RELATION ) )
WizardFrame.properties.setProperty( Db2Arff.PROP_RELATION, bundle.getString( "relation.defaultname" ) );
if ( ! WizardFrame.properties.containsKey( Db2Arff.PROP_JDBC_DRIVER ) )
WizardFrame.properties.setProperty( Db2Arff.PROP_JDBC_DRIVER, "" );
if ( ! WizardFrame.properties.containsKey( Db2Arff.PROP_JDBC_URL ) )
WizardFrame.properties.setProperty( Db2Arff.PROP_JDBC_URL, "jdbc:" );
if ( ! WizardFrame.properties.containsKey( Db2Arff.PROP_JDBC_USER ) )
WizardFrame.properties.setProperty( Db2Arff.PROP_JDBC_USER, "" );
if ( ! WizardFrame.properties.containsKey( Db2Arff.PROP_JDBC_PASSWORD ) )
WizardFrame.properties.setProperty( Db2Arff.PROP_JDBC_PASSWORD, "" );
if ( ! WizardFrame.properties.containsKey( Db2Arff.PROP_JDBC_SELECT ) )
WizardFrame.properties.setProperty( Db2Arff.PROP_JDBC_SELECT, "select * from table" );
}
private void createDefProperties()
{
WizardFrame.properties.clear();
WizardFrame.properties.setProperty( Db2Arff.PROP_RELATION, bundle.getString( "relation.defaultname" ) );
WizardFrame.properties.setProperty( Db2Arff.PROP_JDBC_DRIVER, "" );
WizardFrame.properties.setProperty( Db2Arff.PROP_JDBC_URL, "jdbc:" );
WizardFrame.properties.setProperty( Db2Arff.PROP_JDBC_USER, "" );
WizardFrame.properties.setProperty( Db2Arff.PROP_JDBC_PASSWORD, "" );
WizardFrame.properties.setProperty( Db2Arff.PROP_JDBC_SELECT, "select * from table" );
}
public static void addPrefsFiles( String file )
{
if ( WizardFrame.prefsFiles.contains( file ) )
return;
WizardFrame.prefsFiles.add( file );
if ( WizardFrame.prefsFiles.size() > 10 )
WizardFrame.prefsFiles.remove( 0 );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -