JButton button = new JButton("start");
JTabbedPane tab = new JTabbedPane();
JPanel p=new JPanel();
add(P);
p.add(button);
tab.addTab("开始",p);
我要实现button的事件,要怎么做啊?

解决方案 »

  1.   

    不太明白你要什么?如果只是给button加事件监听:button.addActionListener(new ActionListener(){
        //想要实现的动作
    });
      

  2.   

    我不是说按钮事件
    是JTabbedPane的事件监听
      

  3.   

    你在提问时,不是这样说的吗?——“我要实现button的事件,要怎么做啊?”
      

  4.   

    对呀,
    可是我已经把button加在P里
    P又放在了TabbedPane里
    可能我表达不够清楚吧
    好像有要用到这个
    ChangeListener
    我的书上有这么说,不过它也只是一句话
    我的主意思是要问,怎么用ChangeListener
      

  5.   

    不管把button放在哪,总之是由button来响应事件,        jTabbedPane1 = new javax.swing.JTabbedPane();
            jPanel1 = new javax.swing.JPanel();
            jButton1 = new javax.swing.JButton();
            jPanel2 = new javax.swing.JPanel();
            jButton2 = new javax.swing.JButton();        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            jPanel1.setLayout(new java.awt.BorderLayout());        jButton1.setText("jButton1");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });        jPanel1.add(jButton1, java.awt.BorderLayout.CENTER);        jTabbedPane1.addTab("tab1", jPanel1);        jPanel2.setLayout(new java.awt.BorderLayout());        jButton2.setText("jButton2");
            jButton2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton2ActionPerformed(evt);
                }
            });        jPanel2.add(jButton2, java.awt.BorderLayout.CENTER);        jTabbedPane1.addTab("tab2", jPanel2);        getContentPane().add(jTabbedPane1, java.awt.BorderLayout.CENTER);        pack();
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
            jTabbedPane1.setSelectedComponent(jPanel2);
        }    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
            jTabbedPane1.setSelectedComponent(jPanel1);
        }
      

  6.   

    请问下这句:
    jTabbedPane1.setSelectedComponent(jPanel2);
    什么意思?
      

  7.   

    jTabbedPane1.setSelectedComponent(jPanel2);什么意思?是“使jTabbedPane1里的jPanel2处于被选择的状态,也就是把tab2显示出来”的意思
      

  8.   

    在问一下
    jTabbedPane1.addTab("tab1", jPanel1);
    jTabbedPane1.addTab("tab2", jPanel2);
    如果我单击,这个字符标签"tab1"或"tab2"
    这样子能不能地动做发生
    如果 有怎么来处理他?
      

  9.   

    jTabbedPane1.addChangeListener(new javax.swing.event.ChangeListener() {
                public void stateChanged(javax.swing.event.ChangeEvent evt) {
                    jTabbedPane1StateChanged(evt);
                }
            });
    private void jTabbedPane1StateChanged(javax.swing.event.ChangeEvent evt) {                                          
    // TODO add your handling code here:
            jLabel1.setText("");
        }