|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
package com.fr.design.data.datapane.connect; |
|
|
|
|
|
|
|
|
|
import com.fr.base.GraphHelper; |
|
|
|
|
import com.fr.design.constants.UIConstants; |
|
|
|
|
import com.fr.data.impl.JDBCDatabaseConnection; |
|
|
|
|
import com.fr.data.pool.DBCPConnectionPoolAttr; |
|
|
|
@ -16,7 +17,9 @@ import com.fr.design.layout.TableLayoutHelper;
|
|
|
|
|
import com.fr.design.mainframe.DesignerContext; |
|
|
|
|
import com.fr.design.dialog.BasicPane; |
|
|
|
|
import com.fr.design.editor.editor.IntegerEditor; |
|
|
|
|
import com.fr.design.utils.BrowseUtils; |
|
|
|
|
import com.fr.file.filter.ChooseFileFilter; |
|
|
|
|
import com.fr.general.CloudCenter; |
|
|
|
|
import com.fr.general.ComparatorUtils; |
|
|
|
|
|
|
|
|
|
import com.fr.stable.StringUtils; |
|
|
|
@ -65,6 +68,7 @@ public class JDBCDefPane extends JPanel {
|
|
|
|
|
private UITextField urlTextField; |
|
|
|
|
private UITextField userNameTextField; |
|
|
|
|
private JPasswordField passwordTextField; |
|
|
|
|
private ActionLabel odbcTipsLink; |
|
|
|
|
// 请不要改动dbtype,只应该最后添加
|
|
|
|
|
private final String[] dbtype = {"Oracle", "DB2", "SQL Server", "MySQL", "Sybase", "Access", "Derby", "Postgre", "SQLite", "Inceptor", OTHER_DB}; |
|
|
|
|
|
|
|
|
@ -121,6 +125,28 @@ public class JDBCDefPane extends JPanel {
|
|
|
|
|
|
|
|
|
|
JPanel driverPane = FRGUIPaneFactory.createRightFlowInnerContainer_S_Pane(); |
|
|
|
|
driverPane.add(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Driver") + ":")); |
|
|
|
|
// 选择ODBC数据源的时候的提示链接
|
|
|
|
|
JPanel odbcTipsPane = FRGUIPaneFactory.createRightFlowInnerContainer_S_Pane(); |
|
|
|
|
odbcTipsLink = new ActionLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Odbc_Tips")) { |
|
|
|
|
@Override |
|
|
|
|
public void paintComponent(Graphics _gfx) { |
|
|
|
|
super.paintComponent(_gfx); |
|
|
|
|
_gfx.setColor(Color.blue); |
|
|
|
|
_gfx.drawLine(0, this.getHeight() - 1, GraphHelper.getWidth(this.getText()), this.getHeight() - 1); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
odbcTipsPane.add(odbcTipsLink); |
|
|
|
|
odbcTipsLink.setPreferredSize(new Dimension(GraphHelper.getWidth(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Odbc_Tips")), odbcTipsLink.getPreferredSize().height)); |
|
|
|
|
odbcTipsLink.addActionListener(new ActionListener() { |
|
|
|
|
public void actionPerformed(ActionEvent evt) { |
|
|
|
|
String url = CloudCenter.getInstance().acquireUrlByKind("odbc.help"); |
|
|
|
|
BrowseUtils.browser(url); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
JPanel driverComboBoxAndTips = new JPanel(new BorderLayout()); |
|
|
|
|
driverComboBoxAndTips.add(driverComboBox, BorderLayout.WEST); |
|
|
|
|
driverComboBoxAndTips.add(odbcTipsPane, BorderLayout.CENTER); |
|
|
|
|
|
|
|
|
|
JPanel urlPane = FRGUIPaneFactory.createRightFlowInnerContainer_S_Pane(); |
|
|
|
|
urlPane.add(new UILabel("URL:")); |
|
|
|
@ -141,7 +167,7 @@ public class JDBCDefPane extends JPanel {
|
|
|
|
|
JPanel passwordPane = FRGUIPaneFactory.createRightFlowInnerContainer_S_Pane(); |
|
|
|
|
passwordPane.add(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Password") + ":")); |
|
|
|
|
|
|
|
|
|
Component[][] components = {{dbtypePane, dbtypeComPane}, {driverPane, driverComboBox}, {urlPane, urlComPane}, {userPane, userComPane},}; |
|
|
|
|
Component[][] components = {{dbtypePane, dbtypeComPane}, {driverPane, driverComboBoxAndTips}, {urlPane, urlComPane}, {userPane, userComPane},}; |
|
|
|
|
|
|
|
|
|
double[] rowSize = {p, p, p, p}; |
|
|
|
|
double[] columnSize = {p, f, 22}; |
|
|
|
@ -267,6 +293,7 @@ public class JDBCDefPane extends JPanel {
|
|
|
|
|
if (driverComboBox.getSelectedItem() == null || ComparatorUtils.equals(driverComboBox.getSelectedItem(), StringUtils.EMPTY)) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
odbcTipsLink.setVisible(ComparatorUtils.equals("sun.jdbc.odbc.JdbcOdbcDriver", driverComboBox.getSelectedItem())); // 选择的如果是ODBC就显示提示
|
|
|
|
|
Iterator<Entry<String, DriverURLName[]>> jdbc = jdbcMap.entrySet().iterator(); |
|
|
|
|
while (jdbc.hasNext()) { |
|
|
|
|
Entry<String, DriverURLName[]> entry = jdbc.next(); |
|
|
|
|