import java.awt.*;
import javax.swing.*;
import java.awt.event.*;public class Frame1 extends JFrame {
  private JPanel jPanel1 = new JPanel();
  private JButton jButton1 = new JButton();  public Frame1() {
try {
  jbInit();
}
catch(Exception e) {
  e.printStackTrace();
}
  }  
public Dimension getPreferredSize()
{
return new Dimension(550,390);
}
  private void jbInit() throws Exception {
jPanel1.setLayout(null);
jButton1.setBounds(new Rectangle(159, 86, 126, 22));
jButton1.setText("jButton1");
jButton1.addActionListener(new java.awt.event.ActionListener() {
  public void actionPerformed(ActionEvent e) {
final JDialog jf=new JDialog(Frame1.this,"OK",true);
  JButton bok = new JButton("Ok");
 bok.setBounds(new Rectangle(70,120, 50,20));
   jf.getContentPane().add(bok);
  
  jf.setLocation(150, 140);
  jf.setResizable(false);
  jf.setSize(200,170);
   bok.addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent e){
   System.out.print("ssss");
  jf.dispose();
}
});
  jf.setVisible(true);
  }
});
this.getContentPane().add(jPanel1, BorderLayout.CENTER);
jPanel1.add(jButton1, null);
   
  }        
public static void main( String[] args )
{           
  Frame1 frame=new Frame1();
  frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
 System.exit(0);
}
   });
 //显示框架窗体
 frame.pack();
 frame.show();
}
}

解决方案 »

  1.   

    jf.setVisible(true);
               bok.addActionListener(new ActionListener(){
                               public void actionPerformed(ActionEvent e){
                                              dispose();
                                            }
                            });主要是这里jf.setVisible(true);要放在后面,其他都是小问题。
      

  2.   

    final JDialog jf=new JDialog(Frame1.this,"OK",true);
    这句是为了在事件里能使用jf这个实例。
      

  3.   

    GOOD~:)先谢过relive
    我还想问问大家,象我上面的程序,都想在同一个主程序里面建(也就是两个窗口代码写在同一个程序里),在”JB7“里应该怎样做啊???
    上面的两个窗口程序我是用JB分别建,在放在同一主程序里的。
    谢谢大家
      

  4.   

    光说可视化这块JB比VA差多了,VA可以直接加的你可以自己慢慢写啊呵呵。
      

  5.   

    public class Frame1 extends javax.swing.JFrame {
    IvjEventHandler ivjEventHandler = new IvjEventHandler();
    private javax.swing.JButton ivjJButton1 = null;
    private javax.swing.JButton ivjJButton2 = null;
    private javax.swing.JDialog ivjJDialog1 = null;
    private javax.swing.JPanel ivjJDialogContentPane = null;
    private javax.swing.JPanel ivjJFrameContentPane = null;class IvjEventHandler implements java.awt.event.ActionListener {
    public void actionPerformed(java.awt.event.ActionEvent e) {
    if (e.getSource() == Frame1.this.getJButton1()) 
    connEtoM1(e);
    if (e.getSource() == Frame1.this.getJButton2()) 
    connEtoM2(e);
    };
    };
    /**
     * Frame1 构造子注解。
     */
    public Frame1() {
    super();
    initialize();
    }
    /**
     * Frame1 构造子注解。
     * @param title java.lang.String
     */
    public Frame1(String title) {
    super(title);
    }
    /**
     * connEtoM1:  (JButton1.action.actionPerformed(java.awt.event.ActionEvent) --> JDialog1.show()V)
     * @param arg1 java.awt.event.ActionEvent
     */
    /* 警告:此方法将重新生成。 */
    private void connEtoM1(java.awt.event.ActionEvent arg1) {
    try {
    // user code begin {1}
    // user code end
    getJDialog1().show();
    // user code begin {2}
    // user code end
    } catch (java.lang.Throwable ivjExc) {
    // user code begin {3}
    // user code end
    handleException(ivjExc);
    }
    }
    /**
     * connEtoM2:  (JButton2.action.actionPerformed(java.awt.event.ActionEvent) --> JDialog1.dispose()V)
     * @param arg1 java.awt.event.ActionEvent
     */
    /* 警告:此方法将重新生成。 */
    private void connEtoM2(java.awt.event.ActionEvent arg1) {
    try {
    // user code begin {1}
    // user code end
    getJDialog1().dispose();
    // user code begin {2}
    // user code end
    } catch (java.lang.Throwable ivjExc) {
    // user code begin {3}
    // user code end
    handleException(ivjExc);
    }
    }
    /**
     * 返回 JButton1 特性值。
     * @return javax.swing.JButton
     */
    /* 警告:此方法将重新生成。 */
    private javax.swing.JButton getJButton1() {
    if (ivjJButton1 == null) {
    try {
    ivjJButton1 = new javax.swing.JButton();
    ivjJButton1.setName("JButton1");
    ivjJButton1.setText("JButton1");
    ivjJButton1.setBounds(165, 97, 85, 27);
    // user code begin {1}
    // user code end
    } catch (java.lang.Throwable ivjExc) {
    // user code begin {2}
    // user code end
    handleException(ivjExc);
    }
    }
    return ivjJButton1;
    }
    /**
     * 返回 JButton2 特性值。
     * @return javax.swing.JButton
     */
    /* 警告:此方法将重新生成。 */
    private javax.swing.JButton getJButton2() {
    if (ivjJButton2 == null) {
    try {
    ivjJButton2 = new javax.swing.JButton();
    ivjJButton2.setName("JButton2");
    ivjJButton2.setText("JButton2");
    // user code begin {1}
    // user code end
    } catch (java.lang.Throwable ivjExc) {
    // user code begin {2}
    // user code end
    handleException(ivjExc);
    }
    }
    return ivjJButton2;
    }
    /**
     * 返回 JDialog1 特性值。
     * @return javax.swing.JDialog
     */
    /* 警告:此方法将重新生成。 */
    private javax.swing.JDialog getJDialog1() {
    if (ivjJDialog1 == null) {
    try {
    ivjJDialog1 = new javax.swing.JDialog();
    ivjJDialog1.setName("JDialog1");
    ivjJDialog1.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    ivjJDialog1.setBounds(171, 73, 370, 195);
    getJDialog1().setContentPane(getJDialogContentPane());
    // user code begin {1}
    // user code end
    } catch (java.lang.Throwable ivjExc) {
    // user code begin {2}
    // user code end
    handleException(ivjExc);
    }
    }
    return ivjJDialog1;
    }
    /**
     * 返回 JDialogContentPane 特性值。
     * @return javax.swing.JPanel
     */
    /* 警告:此方法将重新生成。 */
    private javax.swing.JPanel getJDialogContentPane() {
    if (ivjJDialogContentPane == null) {
    try {
    ivjJDialogContentPane = new javax.swing.JPanel();
    ivjJDialogContentPane.setName("JDialogContentPane");
    ivjJDialogContentPane.setLayout(new java.awt.BorderLayout());
    getJDialogContentPane().add(getJButton2(), "Center");
    // user code begin {1}
    // user code end
    } catch (java.lang.Throwable ivjExc) {
    // user code begin {2}
    // user code end
    handleException(ivjExc);
    }
    }
    return ivjJDialogContentPane;
    }
    /**
     * 返回 JFrameContentPane 特性值。
     * @return javax.swing.JPanel
     */
    /* 警告:此方法将重新生成。 */
    private javax.swing.JPanel getJFrameContentPane() {
    if (ivjJFrameContentPane == null) {
    try {
    ivjJFrameContentPane = new javax.swing.JPanel();
    ivjJFrameContentPane.setName("JFrameContentPane");
    ivjJFrameContentPane.setLayout(null);
    getJFrameContentPane().add(getJButton1(), getJButton1().getName());
    // user code begin {1}
    // user code end
    } catch (java.lang.Throwable ivjExc) {
    // user code begin {2}
    // user code end
    handleException(ivjExc);
    }
    }
    return ivjJFrameContentPane;
    }
    /**
     * 每当部件抛出异常时被调用
     * @param exception java.lang.Throwable
     */
    private void handleException(java.lang.Throwable exception) { /* 除去下列各行的注释,以将未捕捉到的异常打印至 stdout。 */
    // System.out.println("--------- 未捕捉到的异常 ---------");
    // exception.printStackTrace(System.out);
    }
    /**
     * 初始化连接
     * @exception java.lang.Exception 异常说明。
     */
    /* 警告:此方法将重新生成。 */
    private void initConnections() throws java.lang.Exception {
    // user code begin {1}
    // user code end
    getJButton1().addActionListener(ivjEventHandler);
    getJButton2().addActionListener(ivjEventHandler);
    }
    /**
     * 初始化类。
     */
    /* 警告:此方法将重新生成。 */
    private void initialize() {
    try {
    // user code begin {1}
    // user code end
    setName("Frame1");
    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    setSize(426, 240);
    setContentPane(getJFrameContentPane());
    initConnections();
    } catch (java.lang.Throwable ivjExc) {
    handleException(ivjExc);
    }
    // user code begin {2}
    // user code end
    }
    /**
     * 主入口点 - 当部件作为应用程序运行时,启动这个部件。
     * @param args java.lang.String[]
     */
    public static void main(java.lang.String[] args) {
    try {
    Frame1 aFrame1;
    aFrame1 = new Frame1();
    aFrame1.addWindowListener(new java.awt.event.WindowAdapter() {
    public void windowClosing(java.awt.event.WindowEvent e) {
    System.exit(0);
    };
    });
    aFrame1.show();
    java.awt.Insets insets = aFrame1.getInsets();
    aFrame1.setSize(aFrame1.getWidth() + insets.left + insets.right, aFrame1.getHeight() + insets.top + insets.bottom);
    aFrame1.setVisible(true);
    } catch (Throwable exception) {
    System.err.println("javax.swing.JFrame 的 main() 中发生异常");
    exception.printStackTrace(System.out);
    }
    }
    }
      

  6.   

    想问问relive,你说的VA是什么工具
    初学~:)
      

  7.   

    还有想问问relive
    上面的代码是自己写的,还是用JB自动生成的?
    或是其他工具啊
      

  8.   

    VA是VisualAge for Java,IBM出的一个IDE,满好用的,上面的就是用VisualAge for Java自动生成的,我只动了动鼠标。