请问怎么修改swing中的JTabbedPane标签,我想把他修改成长方形的?

解决方案 »

  1.   

    重写BasicTabbedPaneUI就可以主要对下面的三个方法进行重写,paintTabBorder、calculateTabHeight、calculateTabWidth
      

  2.   

    Arthur,能不能给个代码段,多谢了
      

  3.   

         protected void paintTabBorder(Graphics g, int tabPlacement,
                                       int tabIndex,
                                       int x, int y, int w, int h,
                                       boolean isSelected) {
             g.setColor(lightHighlight);
             if (tabPlacement == TOP) {
                 g.drawLine(x, y, x, y + h - 1);
                 g.drawLine(x, y, x + w - 1, y);
                 g.setColor(shadow);
                 g.drawLine(x + w - 1, y, x + w - 1, y + h - 1);
                 g.setColor(darkShadow);
                 g.drawLine(x + w - 1, y, x + w - 1, y + h - 1);
             } else {
                 super.paintTabBorder(g, tabPlacement, tabIndex, x, y, w, h,
                                      isSelected);
             }
         }给你个Top的,至于其他几面的自己写吧,其他的方法如果不需要就不重写,或者super就可以
      

  4.   

    在你的main函数 首先执行     try {
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        } catch (Exception evt) {}更换另外的一种LookAndFeel 就行了!
      

  5.   

    楼上的大哥,我重写了BasicTabbedPaneUI,什么时候用啊
      

  6.   

    tabbedPabe.setUI(new MyTabUI());
      

  7.   

    重写这两个方法calculateTabHeight、calculateTabWidth 试试
      

  8.   

    多看看Java源码就好了,分析一下源码的实现,像这类问题,一般都是从UI上下手