对话框一:
public class Dia_one extends Dialog { private static final long serialVersionUID = 1L;
private int n=0;
private Label label = null;
private TextField textField = null;
private TextField textField1 = null;
Dia_two d;
Dia_one tt=this;
/**
* This method initializes textField
*
* @return java.awt.TextField
*/
private TextField getTextField() {
if (textField == null) {
textField = new TextField();
textField.setBounds(new Rectangle(22, 68, 83, 25));
textField.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
// System.out.println("mouseClicked()"); TODO Auto-generated Event stub mouseClicked()
Frame f1=new Frame();
d = new Dia_two(f1);
d.setVisible(true);
d.requestFocus();
}
});
}
return textField;
} /**
* This method initializes textField1
*
* @return java.awt.TextField
*/
private TextField getTextField1() {
if (textField1 == null) {
textField1 = new TextField();
textField1.setBounds(new Rectangle(109, 69, 252, 23));
}
return textField1;
} /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Frame f=new Frame();
Dia_one d = new Dia_one(f);
d.setVisible(true);
} /**
* @param owner
*/
public Dia_one(Frame owner) {
super(owner);
initialize(); } /**
* This method initializes this
*
* @return void
*/
private void initialize() {
label = new Label();
label.setBounds(new Rectangle(22, 39, 53, 26));
label.setText("贷款序号");
this.setLayout(null);
this.setSize(492, 308);
this.add(label, null);
this.add(getTextField(), null);
this.add(getTextField1(), null);
this.setModal(false);
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
this.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent e) {
textField1.setText(d.data);
tt.requestFocus();
}
});
}}
对话框二:
public class Dia_two extends Dialog { private static final long serialVersionUID = 1L;
private TextField textField = null;
private Button button = null;
private JScrollPane jScrollPane = null;
private int flag=0;
public /* static final*/ String data=null;
private Dia_two tt=this;
private JTable jTable = new JTable(){//添加部分1
public boolean isCellEditable(int row, int column) {
return false;
}};
private DefaultTableModel dt=new DefaultTableModel();
public Dia_two(Frame owner) {
super(owner);
initialize();
} private void initialize() {
jTable.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON1) {// 单击鼠标左键
if (e.getClickCount() == 2) {
int colummCount = jTable.getModel().getColumnCount();//
data=jTable.getModel().getValueAt(jTable.getSelectedRow(), colummCount-1).toString(); tt.dispose();
}
}
}
});
/*jTable.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
public void propertyChange(java.beans.PropertyChangeEvent e) {
if ((e.getPropertyName().equals("model"))) {
System.out.println("propertyChange(model)"); // TODO Auto-generated property Event stub "model"
}
}
});*/
if(flag==0)
{
this.dispose();
//this = null;
}
this.setLayout(null);
this.setSize(491, 363);
this.add(getTextField(), null);
this.add(getButton(), null);
this.add(getJScrollPane(), null);
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.out.println("windowClosing()"); // TODO Auto-generated Event stub windowClosing()
}
});
} private TextField getTextField() {
if (textField == null) {
textField = new TextField();
textField.setBounds(new Rectangle(21, 51, 354, 31));
}
return textField;
} /**
* This method initializes button
*
* @return java.awt.Button
*/
private Button getButton() {
if (button == null) {
button = new Button();
button.setBounds(new Rectangle(387, 50, 84, 34));
button.setLabel("搜索");
button.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
test();
}
});
}
return button;
} private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setBounds(new Rectangle(23, 97, 447, 251));
jScrollPane.setViewportView(getJTable());
}
return jScrollPane;
}
private JTable getJTable() {
jTable.setModel(dt);
jTable.setRowHeight(20);
jTable.setRowSelectionAllowed(true);
jTable.setSelectionBackground(Color.lightGray);
jTable.setSelectionForeground(Color.white);
jTable.setGridColor(Color.black);
jTable.setShowGrid(true);
jTable.setShowHorizontalLines(true);
jTable.setShowVerticalLines(true);
jTable.setBackground(Color.white);
return jTable;
}
public void test()
{
try
{ Connection conn;
Statement stmt; Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=loans";
String user="huyang";
String password="111111";
conn = DriverManager.getConnection(url,user,password);
CallableStatement cstmt = conn.prepareCall("{call dbo.pp_IDEditorGetData(?,?,?,?,?)}");
cstmt.setInt(1,4);
cstmt.setString(2,null);
cstmt.setString(3,null);
cstmt.setString(4,null);
cstmt.setObject(5, 0); ResultSet rs = cstmt.executeQuery(); ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns=rsmd.getColumnCount();
int b=1;
System.out.println(numberOfColumns);
while(b<=numberOfColumns)
{
dt.addColumn(rsmd.getColumnName(b));
b++;
}
while(rs.next())
{
Vector newRow;
while(rs.next())
{
newRow=new Vector();
int c=1;
while(c<=numberOfColumns)
{
newRow.addElement(rs.getString(c));
c++;
}
dt.addRow(newRow);
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
两个小问题:
1、当点击dialog1弹出dialog2时,有一个方法是让弹出他后其他窗口用户都不能点的。那个是什么。
2、希望把dialog2中的data数据填回dialog一中的textfield中,有什么好办法?
public class Dia_one extends Dialog { private static final long serialVersionUID = 1L;
private int n=0;
private Label label = null;
private TextField textField = null;
private TextField textField1 = null;
Dia_two d;
Dia_one tt=this;
/**
* This method initializes textField
*
* @return java.awt.TextField
*/
private TextField getTextField() {
if (textField == null) {
textField = new TextField();
textField.setBounds(new Rectangle(22, 68, 83, 25));
textField.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
// System.out.println("mouseClicked()"); TODO Auto-generated Event stub mouseClicked()
Frame f1=new Frame();
d = new Dia_two(f1);
d.setVisible(true);
d.requestFocus();
}
});
}
return textField;
} /**
* This method initializes textField1
*
* @return java.awt.TextField
*/
private TextField getTextField1() {
if (textField1 == null) {
textField1 = new TextField();
textField1.setBounds(new Rectangle(109, 69, 252, 23));
}
return textField1;
} /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Frame f=new Frame();
Dia_one d = new Dia_one(f);
d.setVisible(true);
} /**
* @param owner
*/
public Dia_one(Frame owner) {
super(owner);
initialize(); } /**
* This method initializes this
*
* @return void
*/
private void initialize() {
label = new Label();
label.setBounds(new Rectangle(22, 39, 53, 26));
label.setText("贷款序号");
this.setLayout(null);
this.setSize(492, 308);
this.add(label, null);
this.add(getTextField(), null);
this.add(getTextField1(), null);
this.setModal(false);
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
this.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent e) {
textField1.setText(d.data);
tt.requestFocus();
}
});
}}
对话框二:
public class Dia_two extends Dialog { private static final long serialVersionUID = 1L;
private TextField textField = null;
private Button button = null;
private JScrollPane jScrollPane = null;
private int flag=0;
public /* static final*/ String data=null;
private Dia_two tt=this;
private JTable jTable = new JTable(){//添加部分1
public boolean isCellEditable(int row, int column) {
return false;
}};
private DefaultTableModel dt=new DefaultTableModel();
public Dia_two(Frame owner) {
super(owner);
initialize();
} private void initialize() {
jTable.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON1) {// 单击鼠标左键
if (e.getClickCount() == 2) {
int colummCount = jTable.getModel().getColumnCount();//
data=jTable.getModel().getValueAt(jTable.getSelectedRow(), colummCount-1).toString(); tt.dispose();
}
}
}
});
/*jTable.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
public void propertyChange(java.beans.PropertyChangeEvent e) {
if ((e.getPropertyName().equals("model"))) {
System.out.println("propertyChange(model)"); // TODO Auto-generated property Event stub "model"
}
}
});*/
if(flag==0)
{
this.dispose();
//this = null;
}
this.setLayout(null);
this.setSize(491, 363);
this.add(getTextField(), null);
this.add(getButton(), null);
this.add(getJScrollPane(), null);
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.out.println("windowClosing()"); // TODO Auto-generated Event stub windowClosing()
}
});
} private TextField getTextField() {
if (textField == null) {
textField = new TextField();
textField.setBounds(new Rectangle(21, 51, 354, 31));
}
return textField;
} /**
* This method initializes button
*
* @return java.awt.Button
*/
private Button getButton() {
if (button == null) {
button = new Button();
button.setBounds(new Rectangle(387, 50, 84, 34));
button.setLabel("搜索");
button.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
test();
}
});
}
return button;
} private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setBounds(new Rectangle(23, 97, 447, 251));
jScrollPane.setViewportView(getJTable());
}
return jScrollPane;
}
private JTable getJTable() {
jTable.setModel(dt);
jTable.setRowHeight(20);
jTable.setRowSelectionAllowed(true);
jTable.setSelectionBackground(Color.lightGray);
jTable.setSelectionForeground(Color.white);
jTable.setGridColor(Color.black);
jTable.setShowGrid(true);
jTable.setShowHorizontalLines(true);
jTable.setShowVerticalLines(true);
jTable.setBackground(Color.white);
return jTable;
}
public void test()
{
try
{ Connection conn;
Statement stmt; Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=loans";
String user="huyang";
String password="111111";
conn = DriverManager.getConnection(url,user,password);
CallableStatement cstmt = conn.prepareCall("{call dbo.pp_IDEditorGetData(?,?,?,?,?)}");
cstmt.setInt(1,4);
cstmt.setString(2,null);
cstmt.setString(3,null);
cstmt.setString(4,null);
cstmt.setObject(5, 0); ResultSet rs = cstmt.executeQuery(); ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns=rsmd.getColumnCount();
int b=1;
System.out.println(numberOfColumns);
while(b<=numberOfColumns)
{
dt.addColumn(rsmd.getColumnName(b));
b++;
}
while(rs.next())
{
Vector newRow;
while(rs.next())
{
newRow=new Vector();
int c=1;
while(c<=numberOfColumns)
{
newRow.addElement(rs.getString(c));
c++;
}
dt.addRow(newRow);
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
两个小问题:
1、当点击dialog1弹出dialog2时,有一个方法是让弹出他后其他窗口用户都不能点的。那个是什么。
2、希望把dialog2中的data数据填回dialog一中的textfield中,有什么好办法?
问题二:
办法一:dialog1有一个方法,接收data,dialog2中调用dialog1的这个方法.那么就需要在构造dialog2的时候把dialog1引用传过去或者其它的方法得到dialog1,然后调用那个方法
办法二:dialog1提供textfield的访问函数,dialog2中调用这些textfield访问函数,把值放到其中去.
import java.awt.Dialog;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Rectangle;
import java.awt.TextField;import javax.swing.JFrame;public class Dia_one extends Dialog { private static final long serialVersionUID = 1L;
private int n=0;
private Label label = null;
private TextField textField = null;
private TextField textField1 = null;
Dia_two d;
Dia_one tt=this;
public void closeTwo()
{
if(d!=null)
{
d.dispose();
}
}
/**
* This method initializes textField
*
* @return java.awt.TextField
*/
private TextField getTextField() {
if (textField == null) {
textField = new TextField();
textField.setBounds(new Rectangle(22, 68, 83, 25));
textField.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
// System.out.println("mouseClicked()"); TODO Auto-generated Event stub mouseClicked()
JFrame f1=new JFrame();
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
d = new Dia_two(f1,tt);
d.setModal(true);
d.setVisible(true);
d.requestFocus();
}
});
}
return textField;
} /**
* This method initializes textField1
*
* @return java.awt.TextField
*/
public TextField getTextField1() {
if (textField1 == null) {
textField1 = new TextField();
textField1.setBounds(new Rectangle(109, 69, 252, 23));
}
return textField1;
} /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Frame f=new Frame();
Dia_one d = new Dia_one(f);
d.setVisible(true); } /**
* @param owner
*/
public Dia_one(Frame owner) {
super(owner);
initialize(); } /**
* This method initializes this
*
* @return void
*/
private void initialize() {
label = new Label();
label.setBounds(new Rectangle(22, 39, 53, 26));
label.setText("贷款序号");
this.setLayout(null);
this.setSize(492, 308);
this.add(label, null);
this.add(getTextField(), null);
this.add(getTextField1(), null);
this.setModal(false);
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
this.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent e) {
textField1.setText(d.data);
tt.requestFocus();
}
});
} } import java.awt.Button;
import java.awt.Color;
import java.awt.Dialog;
import java.awt.Frame;
import java.awt.Rectangle;
import java.awt.TextField;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.Vector;import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;public class Dia_two extends Dialog { private static final long serialVersionUID = 1L;
private TextField textField = null;
private Button button = null;
private JScrollPane jScrollPane = null;
private int flag=0;
public /* static final*/ String data=null;
Dia_one one = null;
private Dia_two tt=this;
private JTable jTable = new JTable(){//添加部分1
public boolean isCellEditable(int row, int column) {
return false;
}};
private DefaultTableModel dt=new DefaultTableModel();
public Dia_two(Frame owner,Dia_one one) {
super(owner);
this.one = one;
initialize();
} private void initialize() {
jTable.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON1) {// 单击鼠标左键
if (e.getClickCount() == 2) {
int colummCount = jTable.getModel().getColumnCount();//
data=jTable.getModel().getValueAt(jTable.getSelectedRow(), colummCount-1).toString();
tt.dispose();
one.getTextField1().setText(data);
}
}
}
}); /*jTable.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
public void propertyChange(java.beans.PropertyChangeEvent e) {
if ((e.getPropertyName().equals("model"))) {
System.out.println("propertyChange(model)"); // TODO Auto-generated property Event stub "model"
}
}
});*/
if(flag==0)
{
this.dispose();
//this = null;
} this.setLayout(null);
this.setSize(491, 363);
this.add(getTextField(), null);
this.add(getButton(), null);
this.add(getJScrollPane(), null);
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.out.println("windowClosing()"); // TODO Auto-generated Event stub windowClosing()
tt.dispose();
}
});
} private TextField getTextField() {
if (textField == null) {
textField = new TextField();
textField.setBounds(new Rectangle(21, 51, 354, 31));
}
return textField;
} /**
* This method initializes button
*
* @return java.awt.Button
*/
private Button getButton() {
if (button == null) {
button = new Button();
button.setBounds(new Rectangle(387, 50, 84, 34));
button.setLabel("搜索");
button.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
test();
}
});
}
return button;
} private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setBounds(new Rectangle(23, 97, 447, 251));
jScrollPane.setViewportView(getJTable());
}
return jScrollPane;
}
private JTable getJTable() {
jTable.setModel(dt);
jTable.setRowHeight(20);
jTable.setRowSelectionAllowed(true);
jTable.setSelectionBackground(Color.lightGray);
jTable.setSelectionForeground(Color.white);
jTable.setGridColor(Color.black);
jTable.setShowGrid(true);
jTable.setShowHorizontalLines(true);
jTable.setShowVerticalLines(true);
jTable.setBackground(Color.white);
return jTable;
} public void test()
{
try
{ Connection conn;
Statement stmt; Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=loans";
String user="huyang";
String password="111111";
conn = DriverManager.getConnection(url,user,password);
CallableStatement cstmt = conn.prepareCall("{call dbo.pp_IDEditorGetData(?,?,?,?,?)}"); cstmt.setInt(1,4);
cstmt.setString(2,null);
cstmt.setString(3,null);
cstmt.setString(4,null);
cstmt.setObject(5, 0); ResultSet rs = cstmt.executeQuery(); ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns=rsmd.getColumnCount();
int b=1;
System.out.println(numberOfColumns);
while(b <=numberOfColumns)
{
dt.addColumn(rsmd.getColumnName(b));
b++;
}
while(rs.next())
{
Vector newRow;
while(rs.next())
{
newRow=new Vector();
int c=1;
while(c <=numberOfColumns)
{
newRow.addElement(rs.getString(c));
c++;
}
dt.addRow(newRow);
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}