希望能调用登陆窗口(如系统用户登陆或是数据库联接等),信息完整才能继续执行,否则,给出提示,而后是退出等操作(自己决定下一步操作)。可以用模态的JDialog,然后需要用到的时候就JDialog.setVisible(true)
JDialog jd = new JDialog( frame, true );
...................
这样的Jialog就一直会在你的Frame前面直到你关闭了JDialog才能对Frame操作
希望弹出另外对话框,可是却为空白窗体。对于这样的窗体,继承关系是唯一的码?
并不是唯一的import java.io.*;
import javax.swing.*;public class Test {
public static void main (String args[]) {
JButton jb = new JButton();
JFileChooser jf = new JFileChooser();
jf.showSaveDialog( jb );
}
}
JDialog jd = new JDialog( frame, true );
...................
这样的Jialog就一直会在你的Frame前面直到你关闭了JDialog才能对Frame操作
希望弹出另外对话框,可是却为空白窗体。对于这样的窗体,继承关系是唯一的码?
并不是唯一的import java.io.*;
import javax.swing.*;public class Test {
public static void main (String args[]) {
JButton jb = new JButton();
JFileChooser jf = new JFileChooser();
jf.showSaveDialog( jb );
}
}
登陆窗口-package test;import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/public class LoginPane extends JFrame {
JTextField jTextField1 = new JTextField();
JLabel jLabel1 = new JLabel();
TitledBorder titledBorder1;
JLabel jLabel2 = new JLabel();
JTextField jTextField2 = new JTextField();
JLabel jLabel3 = new JLabel();
JTextField jTextField3 = new JTextField();
JLabel jLabel4 = new JLabel();
JTextField jTextField4 = new JTextField();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
boolean disp=false ; public LoginPane() {
super();
}
public void init(){
try {
jbInit();
}
catch(Exception ex) {
ex.printStackTrace();
}
} void jbInit() throws Exception {
titledBorder1 = new TitledBorder("");
jTextField1.setBackground(Color.lightGray);
jTextField1.setForeground(SystemColor.activeCaption);
jTextField1.setText("jTextField1");
jTextField1.setBounds(new Rectangle(136, 7, 115, 29));
this.setLayout(null);
jLabel1.setBorder(titledBorder1);
jLabel1.setToolTipText("");
jLabel1.setText("服务器:端口");
jLabel1.setBounds(new Rectangle(37, 7, 93, 28));
jLabel2.setBounds(new Rectangle(37, 42, 93, 28));
jLabel2.setText("数 据 库 名");
jLabel2.setToolTipText("");
jLabel2.setBorder(titledBorder1);
jTextField2.setBounds(new Rectangle(136, 41, 115, 29));
jTextField2.setBackground(Color.lightGray);
jTextField2.setForeground(SystemColor.activeCaption);
jTextField2.setText("jTextField1");
jLabel3.setBorder(titledBorder1);
jLabel3.setToolTipText("user name");
jLabel3.setText("登 用 户 名");
jLabel3.setBounds(new Rectangle(37, 77, 93, 28));
jTextField3.setBackground(Color.lightGray);
jTextField3.setForeground(SystemColor.activeCaption);
jTextField3.setText("jTextField1");
jTextField3.setBounds(new Rectangle(136, 76, 115, 29));
jLabel4.setBounds(new Rectangle(36, 110, 93, 28));
jLabel4.setText("登 用 密 码");
jLabel4.setToolTipText("user password");
jLabel4.setBorder(titledBorder1);
jTextField4.setBounds(new Rectangle(136, 111, 115, 29));
jTextField4.setBackground(Color.lightGray);
jTextField4.setForeground(SystemColor.activeCaption);
jTextField4.setText("jTextField1");
this.setBackground(new Color(197, 197, 255));
// this.setBorder(BorderFactory.createEtchedBorder());
jButton1.setBackground(new Color(197, 197, 225));
jButton1.setBounds(new Rectangle(37, 153, 81, 31));
jButton1.setBorder(BorderFactory.createEtchedBorder());
jButton1.setToolTipText("");
jButton1.setText("确 认");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton1_actionPerformed(e);
}
});
jButton2.setText("取 消");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton2_actionPerformed(e);
}
});
jButton2.setToolTipText("");
jButton2.setBackground(new Color(197, 197, 225));
jButton2.setBounds(new Rectangle(169, 154, 81, 31));
jButton2.setBorder(BorderFactory.createEtchedBorder());
this.add(jLabel1, null);
this.add(jTextField1, null);
this.add(jLabel2, null);
this.add(jTextField2, null);
this.add(jLabel3, null);
this.add(jTextField3, null);
this.add(jLabel4, null);
this.add(jTextField4, null);
this.add(jButton1, null);
this.add(jButton2, null);
} void jButton2_actionPerformed(ActionEvent e) {
System.exit(0);
} void jButton1_actionPerformed(ActionEvent e) { }/* public static void main(String[] agrs){
LoginPane login=new LoginPane();
try{
login.init();
}
catch(Exception e){
e.printStackTrace();
}
}
*/
}
如何把上述代码实现为完整的登陆窗口呢?!!
********************************调用代码:use test**************
void jButton4_actionPerformed(ActionEvent e) {
LoginPane lp=new LoginPane();
lp.show();//调用后为空白窗体
}
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/public class LoginPane extends JFrame {
JTextField jTextField1 = new JTextField();
JLabel jLabel1 = new JLabel();
TitledBorder titledBorder1;
JLabel jLabel2 = new JLabel();
JTextField jTextField2 = new JTextField();
JLabel jLabel3 = new JLabel();
JTextField jTextField3 = new JTextField();
JLabel jLabel4 = new JLabel();
JTextField jTextField4 = new JTextField();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
boolean disp=false ; public LoginPane() {
super();
setBounds(10, 10, 300, 250);
setVisible(true);
repaint();
}
public void init(){
try {
jbInit();
}
catch(Exception ex) {
ex.printStackTrace();
}
} void jbInit() throws Exception {
titledBorder1 = new TitledBorder("");
jTextField1.setBackground(Color.lightGray);
jTextField1.setForeground(SystemColor.activeCaption);
jTextField1.setText("jTextField1");
jTextField1.setBounds(new Rectangle(136, 7, 115, 29));
getContentPane().setLayout(null);
jLabel1.setBorder(titledBorder1);
jLabel1.setToolTipText("");
jLabel1.setText("服务器:端口");
jLabel1.setBounds(new Rectangle(37, 7, 93, 28));
jLabel2.setBounds(new Rectangle(37, 42, 93, 28));
jLabel2.setText("数 据 库 名");
jLabel2.setToolTipText("");
jLabel2.setBorder(titledBorder1);
jTextField2.setBounds(new Rectangle(136, 41, 115, 29));
jTextField2.setBackground(Color.lightGray);
jTextField2.setForeground(SystemColor.activeCaption);
jTextField2.setText("jTextField1");
jLabel3.setBorder(titledBorder1);
jLabel3.setToolTipText("user name");
jLabel3.setText("登 用 户 名");
jLabel3.setBounds(new Rectangle(37, 77, 93, 28));
jTextField3.setBackground(Color.lightGray);
jTextField3.setForeground(SystemColor.activeCaption);
jTextField3.setText("jTextField1");
jTextField3.setBounds(new Rectangle(136, 76, 115, 29));
jLabel4.setBounds(new Rectangle(36, 110, 93, 28));
jLabel4.setText("登 用 密 码");
jLabel4.setToolTipText("user password");
jLabel4.setBorder(titledBorder1);
jTextField4.setBounds(new Rectangle(136, 111, 115, 29));
jTextField4.setBackground(Color.lightGray);
jTextField4.setForeground(SystemColor.activeCaption);
jTextField4.setText("jTextField1");
this.setBackground(new Color(197, 197, 255));
// this.setBorder(BorderFactory.createEtchedBorder());
jButton1.setBackground(new Color(197, 197, 225));
jButton1.setBounds(new Rectangle(37, 153, 81, 31));
jButton1.setBorder(BorderFactory.createEtchedBorder());
jButton1.setToolTipText("");
jButton1.setText("确 认");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton1_actionPerformed(e);
}
});
jButton2.setText("取 消");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton2_actionPerformed(e);
}
});
jButton2.setToolTipText("");
jButton2.setBackground(new Color(197, 197, 225));
jButton2.setBounds(new Rectangle(169, 154, 81, 31));
jButton2.setBorder(BorderFactory.createEtchedBorder());
getContentPane().add(jLabel1);
getContentPane().add(jTextField1);
getContentPane().add(jLabel2);
getContentPane().add(jTextField2);
getContentPane().add(jLabel3);
getContentPane().add(jTextField3);
getContentPane().add(jLabel4);
getContentPane().add(jTextField4);
getContentPane().add(jButton1);
getContentPane().add(jButton2);
} void jButton2_actionPerformed(ActionEvent e) {
System.exit(0);
} void jButton1_actionPerformed(ActionEvent e) { } public static void main(String[] agrs){
LoginPane login=new LoginPane();
try{
login.init();
login.repaint();
}
catch(Exception e){
e.printStackTrace();
}
}}