好,自己动手,丰衣足食,祝你学习进步!是TabbedPaneDemo?
你把什么换成了JPanel?

解决方案 »

  1.   

    调用JPanel的updateUI方法就可以了。
      

  2.   

    先谢谢了,得请老兄多帮忙,我第一次用SWING不是其中的任何一个模块,而是外面的大框架,就是那个SwingSet2.java,他原来显示的时候,有查看源码的Tab,我就想把这个去掉,去掉后我就想用不着JTabbedPane了,因为只有单个Tab了,所以我就想把JTabbedPane换成JPanel,但是接着就出现问题了。给我的感觉就是第一次点图标换模块时只是换了,但不启动,然后改变一下窗口大小或第二次再点就启动了
    换的代码如下:(原来的)
        /**
         * Sets the current demo
         */
        public void setDemo(DemoModule demo) {
    currentDemo = demo; // Ensure panel's UI is current before making visible
    JComponent currentDemoPanel = demo.getDemoPanel();
    SwingUtilities.updateComponentTreeUI(currentDemoPanel); demoPanel.removeAll();
    demoPanel.add(currentDemoPanel, BorderLayout.CENTER); tabbedPane.setSelectedIndex(0);
    tabbedPane.setTitleAt(0, demo.getName());
    tabbedPane.setToolTipTextAt(0, demo.getToolTip());
        }
    (换成)
        /**
         * Sets the current demo
         */
        public void setDemo(DemoModule demo) {
            currentDemo = demo;        // Ensure panel's UI is current before making visible
            JComponent currentDemoPanel = demo.getDemoPanel();
            SwingUtilities.updateComponentTreeUI(currentDemoPanel);        demoPanel.removeAll();
            demoPanel.add(currentDemoPanel, BorderLayout.CENTER);
            demoPanel.setToolTipText(currentDemo.getToolTip());
    //      demoPanel.repaint();
        }
      

  3.   

    to  renhuailin(清风一夜听丝雨(小狍子)):ok,问题解决了,请问updateUI()这个函数有什么用处,和repaint()有什么差别没?
    JTabbedPane为什么可以不用,但JPanel却得用?