📄 applicationformpanel.java
字号:
/**
* Copyright (c) 1996-2004 Borland Software Corporation. All Rights Reserved.
*
* This SOURCE CODE FILE, which has been provided by Borland Software as part
* of a Borland Software product for use ONLY by licensed users of the product,
* includes CONFIDENTIAL and PROPRIETARY information of Borland Software.
*
* USE OF THIS SOFTWARE IS GOVERNED BY THE TERMS AND CONDITIONS
* OF THE LICENSE STATEMENT AND LIMITED WARRANTY FURNISHED WITH
* THE PRODUCT.
*
* IN PARTICULAR, YOU WILL INDEMNIFY AND HOLD BORLAND SOFTWARE, ITS
* RELATED COMPANIES AND ITS SUPPLIERS, HARMLESS FROM AND AGAINST ANY
* CLAIMS OR LIABILITIES ARISING OUT OF THE USE, REPRODUCTION, OR
* DISTRIBUTION OF YOUR PROGRAMS, INCLUDING ANY CLAIMS OR LIABILITIES
* ARISING OUT OF OR RESULTING FROM THE USE, MODIFICATION, OR
* DISTRIBUTION OF PROGRAMS OR FILES CREATED FROM, BASED ON, AND/OR
* DERIVED FROM THIS SOURCE CODE FILE.
*/
//------------------------------------------------------------------------------
// Copyright (c) 1996-2004 Borland Software Corporation. All Rights Reserved.
//------------------------------------------------------------------------------
package com.borland.samples.creditapproval.client;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.text.*;
import javax.swing.*;
import javax.swing.border.*;
import com.borland.dbswing.*;
import com.borland.dx.dataset.*;
import com.borland.samples.creditapproval.CORBAInterface.*;
/**
* ApplicationFormPanel is the main credit card application entry panel.
* It allows a user to enter application information and submit it
* for credit card approval.
*<P>
* Main features illustrated in this class are:
*<UL>
*<LI>Use of a DataExpress TableDataSet to do field validation on the client.
*<LI>Composite use of layout managers to build a complex, dynamically-resized form (best examined
* in the designer).
*<LI>Use of a separate thread to launch credit card processing on server.
*<LI>Use of SwingUtilities.invokeLater() to display live callback messages from server during server processing.
*</UL>
*/
public class ApplicationFormPanel extends JPanel implements Observer {
TableDataSet tableDataSetApplicantData = new TableDataSet();
JdbTextField firstNameField = new JdbTextField();
JdbTextField middleInitialField = new JdbTextField();
JdbTextField lastNameField = new JdbTextField();
JdbTextField address1Field = new JdbTextField();
JdbTextField address2Field = new JdbTextField();
JdbTextField cityField = new JdbTextField();
JdbTextField countryField = new JdbTextField();
JdbTextField stateField = new JdbTextField();
JdbTextField postalCodeField = new JdbTextField();
JdbTextField monthlyIncomeField = new JdbTextField();
JdbTextField rentMortagePaymentField = new JdbTextField();
JLabel formTitleLabel = new JLabel();
JLabel personalInfoLabel = new JLabel();
JLabel nameLabel = new JLabel();
JLabel firstNameLabel = new JLabel();
JLabel middleInitialLabel = new JLabel();
JLabel lastNameLabel = new JLabel();
JLabel address1Label = new JLabel();
JLabel address2Label = new JLabel();
JLabel cityStateZipLabel = new JLabel();
JLabel countryLabel = new JLabel();
JLabel phoneLabel = new JLabel();
JLabel identificationLabel = new JLabel();
JLabel birthdateLabel = new JLabel();
JLabel monthlyIncomeLabel = new JLabel();
JLabel rentMortgagePaymentLabel = new JLabel();
Column columnFirstName = new Column();
Column columnLastName = new Column();
Column columnMiddleInitial = new Column();
Column columnAddress1 = new Column();
Column columnAddress2 = new Column();
Column columnCity = new Column();
Column columnState = new Column();
Column columnPostalCode = new Column();
Column columnCountry = new Column();
Column columnPhone = new Column();
Column columnIdentification = new Column();
Column columnBirthdate = new Column();
Column columnMonthlyIncome = new Column();
Column columnRentMortgagePayment = new Column();
JLabel imageLabel = new JLabel();
JButton buttonSubmit = new JButton();
JButton buttonClear = new JButton();
JLabel financialInfoLabel = new JLabel();
JdbStatusLabel jdbStatusLabel = new JdbStatusLabel();
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
JPanel personalInfoPanel = new JPanel();
GridBagLayout gridBagLayout5 = new GridBagLayout();
JPanel jPanel5 = new JPanel();
JPanel jPanel6 = new JPanel();
BorderLayout borderLayout3 = new BorderLayout();
BorderLayout borderLayout2 = new BorderLayout();
GridBagLayout gridBagLayout3 = new GridBagLayout();
JPanel jPanel3 = new JPanel();
JPanel jPanel7 = new JPanel();
GridLayout gridLayout1 = new GridLayout();
BorderLayout borderLayout1 = new BorderLayout();
JLabel jLabel1 = new JLabel();
JPanel jPanel4 = new JPanel();
GridLayout gridLayout2 = new GridLayout();
JPanel jPanel8 = new JPanel();
GridLayout gridLayout3 = new GridLayout();
JPanel jPanel9 = new JPanel();
GridLayout gridLayout4 = new GridLayout();
JPanel jPanel11 = new JPanel();
GridBagLayout gridBagLayout1 = new GridBagLayout();
JLabel jLabel2 = new JLabel();
JPanel jPanel10 = new JPanel();
GridLayout gridLayout5 = new GridLayout();
JPanel jPanel12 = new JPanel();
GridBagLayout gridBagLayout2 = new GridBagLayout();
GridBagLayout gridBagLayout4 = new GridBagLayout();
JPanel jPanel13 = new JPanel();
FlowLayout flowLayout1 = new FlowLayout();
JPanel jPanel14 = new JPanel();
JdbTextField phoneField = new JdbTextField();
FlowLayout flowLayout2 = new FlowLayout();
JPanel jPanel15 = new JPanel();
JdbTextField identificationField = new JdbTextField();
FlowLayout flowLayout3 = new FlowLayout();
JPanel jPanel16 = new JPanel();
JdbTextField birthdateField = new JdbTextField();
FlowLayout flowLayout4 = new FlowLayout();
ResourceBundle res = Res.getBundle("com.borland.samples.creditapproval.client.Res");
private CreditApprovalApplet creditApprovalApplet = null;
/**
* Default constructor
*/
public ApplicationFormPanel() {
try {
jbInit();
tableDataSetApplicantData.open();
tableDataSetApplicantData.insertRow(true);
// clear the initial status bar
jdbStatusLabel.setText(" ");
}
catch (Exception e) {
e.printStackTrace();
}
}
/**
* Sets a reference to the CreditApprovalApplet using this panel.
* @param creditApprovalApplet CreditApprovalApplet
*
*/
public void setCreditApprovalApplet(CreditApprovalApplet creditApprovalApplet) {
this.creditApprovalApplet = creditApprovalApplet;
if (creditApprovalApplet != null) {
creditApprovalApplet.callbackControlThread.getCallbackObservable().addObserver(this);
}
}
/**
* Initialize the Panel
* @throws Exception exception
*
*/
private void jbInit() throws Exception{
this.setLayout(borderLayout3);
formTitleLabel.setForeground(Color.red);
formTitleLabel.setFont(new java.awt.Font("Dialog", 3, 18));
formTitleLabel.setHorizontalAlignment(SwingConstants.CENTER);
formTitleLabel.setText(res.getString("Credit_Card"));
personalInfoLabel.setFont(new Font("Dialog", 3, 14));
personalInfoLabel.setHorizontalAlignment(SwingConstants.CENTER);
personalInfoLabel.setText(res.getString("Personal_Information"));
tableDataSetApplicantData.setStoreName("");
columnFirstName.setColumnName("firstName");
columnFirstName.setEditMask("ccccccccccccccc");
columnFirstName.setExportDisplayMask("");
columnFirstName.setPrecision(15);
columnFirstName.setDataType(com.borland.dx.dataset.Variant.STRING);
columnFirstName.setRequired(true);
firstNameField.setColumns(10);
firstNameField.setColumnName("firstName");
firstNameField.setDataSet(tableDataSetApplicantData);
columnLastName.setColumnName("lastName");
columnLastName.setEditMask("cccccccccccccccccccc");
columnLastName.setPrecision(20);
columnLastName.setRequired(true);
columnLastName.setDataType(com.borland.dx.dataset.Variant.STRING);
columnMiddleInitial.setColumnName("mi");
columnMiddleInitial.setDataType(com.borland.dx.dataset.Variant.STRING);
columnMiddleInitial.setEditMask(">L");
columnMiddleInitial.setPrecision(1);
columnAddress2.setColumnName("addr2");
columnAddress2.setEditMask("cccccccccccccccccccccccccccccccccc");
columnAddress2.setDataType(com.borland.dx.dataset.Variant.STRING);
columnAddress2.setPrecision(35);
nameLabel.setText(res.getString("Name"));
middleInitialField.setColumns(5);
middleInitialField.setColumnName("mi");
middleInitialField.setDataSet(tableDataSetApplicantData);
lastNameField.setColumns(15);
lastNameField.setColumnName("lastName");
lastNameField.setDataSet(tableDataSetApplicantData);
firstNameLabel.setText(res.getString("First"));
middleInitialLabel.setHorizontalAlignment(SwingConstants.LEFT);
middleInitialLabel.setText(res.getString("MI"));
lastNameLabel.setText(res.getString("Last"));
address1Label.setText(res.getString("Address_1"));
address2Label.setText(res.getString("Address_2"));
cityStateZipLabel.setText(res.getString("City_State_PostalCode"));
countryLabel.setText(res.getString("Country"));
phoneLabel.setText(res.getString("Phone"));
identificationLabel.setText(res.getString("Personal_ID"));
birthdateLabel.setText(res.getString("DOB"));
monthlyIncomeLabel.setText(res.getString("Monthly_Income"));
rentMortgagePaymentLabel.setText(res.getString("Rent_Mortgage_Payment"));
address1Field.setColumns(35);
address1Field.setColumnName("addr1");
address1Field.setDataSet(tableDataSetApplicantData);
address2Field.setColumns(35);
address2Field.setColumnName("addr2");
address2Field.setDataSet(tableDataSetApplicantData);
cityField.setColumns(20);
cityField.setColumnName("city");
cityField.setDataSet(tableDataSetApplicantData);
countryField.setColumns(20);
countryField.setColumnName("country");
countryField.setDataSet(tableDataSetApplicantData);
monthlyIncomeField.setColumnName("monthlyIncome");
monthlyIncomeField.setDataSet(tableDataSetApplicantData);
rentMortagePaymentField.setColumnName("rentMortgagePayment");
rentMortagePaymentField.setDataSet(tableDataSetApplicantData);
stateField.setColumns(10);
stateField.setColumnName("state");
stateField.setDataSet(tableDataSetApplicantData);
postalCodeField.setColumns(15);
postalCodeField.setColumnName("postalCode");
postalCodeField.setDataSet(tableDataSetApplicantData);
columnCity.setColumnName("city");
columnCity.setEditMask("cccccccccccccccccccc");
columnCity.setPrecision(20);
columnCity.setDataType(com.borland.dx.dataset.Variant.STRING);
columnCity.setRequired(true);
columnRentMortgagePayment.setColumnName("rentMortgagePayment");
columnRentMortgagePayment.setDataType(com.borland.dx.dataset.Variant.DOUBLE);
columnRentMortgagePayment.setCurrency(true);
columnRentMortgagePayment.setRequired(true);
imageLabel.setIcon(new ImageIcon(this.getClass().getResource("images/logo.gif")));
buttonClear.setText(res.getString("Clear"));
buttonClear.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
buttonClear_actionPerformed(e);
}
});
financialInfoLabel.setFont(new Font("Dialog", 3, 14));
financialInfoLabel.setHorizontalAlignment(SwingConstants.CENTER);
financialInfoLabel.setText(res.getString("Financial_Information"));
personalInfoPanel.setBorder(new EmptyBorder(2, 2, 2, 2));
jPanel6.setLayout(gridBagLayout3);
jPanel5.setLayout(borderLayout2);
jPanel2.setLayout(gridBagLayout5);
personalInfoPanel.setLayout(gridBagLayout4);
jPanel1.setLayout(borderLayout1);
jdbStatusLabel.setDataSet(tableDataSetApplicantData);
buttonSubmit.setText(res.getString("Submit"));
buttonSubmit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
buttonSubmit_actionPerformed(e);
}
});
columnMonthlyIncome.setColumnName("monthlyIncome");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -