如果你的事件顺利触发的话,很有可能你的subwin里面什么都没有,size为0,加上没有标题栏,当然什么都没有。
setSize(100,100);试试。

解决方案 »

  1.   

    还是不行呀!
    我用Jframe的子类试了一下,可以显示。
    为什么Jwindow却不行呀?
    高手救我。
      

  2.   

    呵呵,我还没见过有标题栏的jwindow(自己改造的不算)
      

  3.   

    setSize(100, 100);
    setLocation(100, 100)
    再试试
      

  4.   

    我只是想说区别于frame。没有标题栏而已,并不是自己改造。
    在线等待,高手救我。
      

  5.   

    程序Post出来啊
    ==================
    别忘给分啊:))))))
    ==================
      

  6.   

    public class biaoti extends JWindow {
      private JLabel jLabel1 = new JLabel();
      private JButton jButton1 = new JButton();
      private JToggleButton jToggleButton1 = new JToggleButton();  public biaoti() {
        try {
          jbInit();
        }
        catch(Exception e) {
          e.printStackTrace();
        }
      }
      private void jbInit() throws Exception {
        Icon normal=new ImageIcon("gear_01.jpg");
        Icon normal2=new ImageIcon("index01.jpg");
        Icon isappear=new ImageIcon("index02.jpg");
        jLabel1.setIcon(normal2);
        jLabel1.setText("jLabel1");
        jLabel1.setBounds(new Rectangle(47, 75, 293, 113));
        this.getContentPane().setLayout(null);
        jButton1.setBounds(new Rectangle(58, 210, 119, 45));
        jButton1.setText("jButton1");
        jToggleButton1.setText("jToggleButton1");
        jToggleButton1.setBounds(new Rectangle(186, 16, 155, 44));
        this.getContentPane().add(jLabel1, null);
        this.getContentPane().add(jButton1, null);
        this.getContentPane().add(jToggleButton1, null);
      }
    }谢了,一定算分。
    void jButton1_actionPerformed(ActionEvent e) {
        biaoti dlg = new biaoti();
        Dimension dlgSize = dlg.getPreferredSize();
        Dimension frmSize = getSize();
        Point loc = getLocation();
        dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);
        dlg.setSize(100,100) ;
        dlg.setLocation(100,100) ;
        dlg.pack();
        dlg.show() ;    }
      

  7.   

    我对你的程序作了一点改动,这样你就可以看到你要看到的结果了
    如果你嫌太小了的话你可以把SETSZIE()里的大小改变一下
    呵呵
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Biaoti extends JWindow {
      private JLabel jLabel1 = new JLabel();
      private JButton jButton1 = new JButton();
      private JToggleButton jToggleButton1 = new JToggleButton();  public Biaoti(Frame f) {
          super(f);
        Icon normal=new ImageIcon("gear_01.jpg");
        Icon normal2=new ImageIcon("index01.jpg");
        Icon isappear=new ImageIcon("index02.jpg");
        jLabel1.setIcon(normal2);
        jLabel1.setText("jLabel1");
        jLabel1.setBounds(new Rectangle(47, 75, 293, 113));
        this.getContentPane().setLayout(null);
        jButton1.setBounds(new Rectangle(58, 210, 119, 45));
        jButton1.setText("jButton1");
        jToggleButton1.setText("jToggleButton1");
        jToggleButton1.setBounds(new Rectangle(186, 16, 155, 44));
        getContentPane().add(jLabel1, null);
        getContentPane().add(jButton1, null);
        getContentPane().add(jToggleButton1, null);
           Dimension screensize =Toolkit.getDefaultToolkit().getScreenSize();
          setLocation(screensize.width/4,screensize.height/4);
          setVisible(true);
    }
    public static void main(String args[]){
         Frame f = new Frame();
         Biaoti  b = new Biaoti(f);
         b.setSize(300,200);
    }
    }