2016-03-21 86 views
2

我正在扩展具有Java Swing GUI的应用程序。我已经扩展了业务逻辑并添加了所需的功能,但现在我想改进UI。我从来没有用过swing,代码也不容易阅读。Swing UI布局分析

在应用程序运行时,有什么方法可以分析/识别UI组件吗?我使用IntelliJ作为IDE。

+0

为什么不使用javaFX来扩展用于java桌面应用程序的UI。 –

+0

我从来没有使用javaFX。有一些扩展JPanel的自定义组件。我更习惯于在android上工作,但这是一个桌面应用程序。 –

+0

我没有使用intellij,但在netbeans中,有两个文件1窗体文件对应于每个用户界面。你可以双击UI并浏览代码(例如按钮)。 –

回答

1

如果您正在使用的IntelliJ GUI构建器

我建议考虑看看这两个网站,herehere

他们继续如何你可以Set the components properties。这样做可以让您使用不同的前景和背景颜色,这可以让您识别何时启动应用程序。

深入更多的属性,可以发现here

您也可以为每个组件,这将让你找到他们的代码更易于设置的变量名。

如果您仍然在查找源代码中的组件时遇到问题,IntelliJ有一个很好的方法来Search The Source Code任何你想找的。

如果你做手工

应用作为了GUI builder,你可以设置背景颜色等,通过使用类似component.setBackground(Color.BLUE);有事找他们更容易在应用程序运行。您还可以通过使用textArea.setText("My Text");将某些默认元素提供给某些内容,如JTextArea

这里有一些关于Swing Naming ConventionsJava Naming Conventions一般的很好的阅读。这将允许您将代码布置在清洁器中,更易于阅读时尚。

还有this网站可以查看每个摆动组件的外观。您可以点击每个组件以获取更多信息。

作为一个更一般的答案,我建议您查看一下Oracle Swing Tutorials以更好地了解Swing及其功能。我个人不建议使用任何形式的GUI构建器。你没有得到与手工完成相同的知识。

0

要讲更多的GUI构建器:它们也倾向于生成很多难以理解的代码。 GUI构建器可能最适合创建快速GUI或创建快速草图,但不推荐将其用于复杂的GUI,因为代码变得难以维护。 NetBeans的GUI构建器就是一个简单易用的好例子,但会生成大量不可编辑的代码。另一方面,Window Builder Pro与NetBeans的GUI构建器的代码相同,但代码较少,但实际上允许您编辑它生成的代码。

1

这种方法:

public static void showStructure(Container container, int depth) { 
    Component[] components = container.getComponents(); 
    StringBuilder indent = new StringBuilder(); 
    for (int ii = 0; ii < depth; ii++) { 
     indent.append("\t"); 
    } 
    for (int ii = 0; ii < components.length; ii++) { 
     System.out.print(indent); 
     Component component = components[ii]; 
     System.out.print(component.getClass().getSimpleName() + "\t"); 
     if (component instanceof Container) { 
      Container c = (Container) component; 
      System.out.println(c); 
      showStructure(c, depth+1); 
     } 
    } 
} 

用在this GUI

产地:

JRootPane javax.swing.JRootPane[,8,30,633x454,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=] 
    JPanel javax.swing.JPanel[null.glassPane,0,0,633x454,hidden,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777217,maximumSize=,minimumSize=,preferredSize=] 
    JLayeredPane javax.swing.JLayeredPane[null.layeredPane,0,0,633x454,alignmentX=0.0,alignmentY=0.0,border=,flags=0,maximumSize=,minimumSize=,preferredSize=,optimizedDrawingPossible=true] 
     JPanel javax.swing.JPanel[,0,0,633x454,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,[email protected],flags=9,maximumSize=,minimumSize=,preferredSize=] 
      JPanel javax.swing.JPanel[,5,18,623x54,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,[email protected],flags=9,maximumSize=,minimumSize=,preferredSize=] 
       JComboBox javax.swing.JComboBox[,338,21,126x25,layout=javax.swing.plaf.metal.MetalComboBoxUI$MetalComboBoxLayoutManager,alignmentX=0.0,alignmentY=0.0,border=,flags=328,maximumSize=,minimumSize=,preferredSize=,isEditable=false,lightWeightPopupEnabled=true,maximumRowCount=8,selectedItemReminder=Metal] 
        MetalComboBoxButton javax.swing.plaf.metal.MetalComboBoxButton[,106,0,20x25,alignmentX=0.0,alignmentY=0.5,bo[email protected]f62048,flags=12583208,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=java.awt.Insets[top=0,left=1,bottom=1,right=3],paintBorder=true,paintFocus=false,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true] 
        CellRendererPane javax.swing.CellRendererPane[,0,0,0x0,hidden] 
       JCheckBox javax.swing.JCheckBox[,467,21,148x24,alignmentX=0.0,alignmentY=0.5,bo[email protected]628370,flags=296,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2],paintBorder=false,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=Pack on PLAF change] 
      JPanel javax.swing.JPanel[,5,77,148x372,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,[email protected],flags=9,maximumSize=,minimumSize=,preferredSize=] 
       JButton javax.swing.JButton[,5,18,138x26,alignmentX=0.0,alignmentY=0.5,bo[email protected]f62048,flags=296,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=Add Another Label,defaultCapable=true] 
       JScrollPane javax.swing.JScrollPane[,5,48,138x319,layout=javax.swing.ScrollPaneLayout$UIResource,alignmentX=0.0,alignmentY=0.0,[email protected]bfc,flags=328,maximumSize=,minimumSize=,preferredSize=,columnHeader=,horizontalScrollBar=javax.swing.JScrollPane$ScrollBar[,0,0,0x0,hidden,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=HORIZONTAL,unitIncrement=1],horizontalScrollBarPolicy=HORIZONTAL_SCROLLBAR_AS_NEEDED,lowerLeft=,lowerRight=,rowHeader=,upperLeft=,upperRight=,verticalScrollBar=javax.swing.JScrollPane$ScrollBar[,0,0,0x0,hidden,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=VERTICAL,unitIncrement=1],verticalScrollBarPolicy=VERTICAL_SCROLLBAR_AS_NEEDED,viewport=javax.swing.JViewport[,1,1,135x316,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=true,lastPaintPosition=,scrollUnderway=false],viewportBorder=] 
        JViewport javax.swing.JViewport[,1,1,135x316,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=true,lastPaintPosition=,scrollUnderway=false] 
         JPanel javax.swing.JPanel[,0,0,135x316,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,[email protected],flags=9,maximumSize=,minimumSize=,preferredSize=] 
        ScrollBar javax.swing.JScrollPane$ScrollBar[,0,0,0x0,hidden,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=VERTICAL,unitIncrement=1] 
         MetalScrollButton javax.swing.plaf.metal.MetalScrollButton[,0,0,0x0,alignmentX=0.0,alignmentY=0.5,bo[email protected]f62048,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true] 
         MetalScrollButton javax.swing.plaf.metal.MetalScrollButton[,0,0,0x0,alignmentX=0.0,alignmentY=0.5,bo[email protected]f62048,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true] 
        ScrollBar javax.swing.JScrollPane$ScrollBar[,0,0,0x0,hidden,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=HORIZONTAL,unitIncrement=1] 
         MetalScrollButton javax.swing.plaf.metal.MetalScrollButton[,0,0,0x0,alignmentX=0.0,alignmentY=0.5,bo[email protected]f62048,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true] 
         MetalScrollButton javax.swing.plaf.metal.MetalScrollButton[,0,0,0x0,alignmentX=0.0,alignmentY=0.5,bo[email protected]f62048,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true] 
      JSplitPane javax.swing.JSplitPane[,158,77,470x372,layout=javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager,alignmentX=0.0,alignmentY=0.0,[email protected]e,flags=201326920,maximumSize=,minimumSize=,preferredSize=,continuousLayout=false,dividerSize=10,lastDividerLocation=0,oneTouchExpandable=false,orientation=VERTICAL_SPLIT] 
       JScrollPane javax.swing.JScrollPane[,1,1,468x134,layout=javax.swing.ScrollPaneLayout$UIResource,alignmentX=0.0,alignmentY=0.0,[email protected]cd7,flags=328,maximumSize=,minimumSize=,preferredSize=java.awt.Dimension[width=468,height=134],columnHeader=javax.swing.JViewport[,1,1,450x20,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=true,lastPaintPosition=,scrollUnderway=false],horizontalScrollBar=javax.swing.JScrollPane$ScrollBar[,0,0,0x0,hidden,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=HORIZONTAL,unitIncrement=1],horizontalScrollBarPolicy=HORIZONTAL_SCROLLBAR_AS_NEEDED,lowerLeft=,lowerRight=,rowHeader=,upperLeft=,upperRight=,verticalScrollBar=javax.swing.JScrollPane$ScrollBar[,451,21,15x111,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=VERTICAL,unitIncrement=1],verticalScrollBarPolicy=VERTICAL_SCROLLBAR_AS_NEEDED,viewport=javax.swing.JViewport[,1,21,450x111,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=true,lastPaintPosition=,scrollUnderway=false],viewportBorder=] 
        JViewport javax.swing.JViewport[,1,21,450x111,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=true,lastPaintPosition=,scrollUnderway=false] 
         JTable javax.swing.JTable[,0,0,450x896,alignmentX=0.0,alignmentY=0.0,border=,flags=251658568,maximumSize=,minimumSize=,preferredSize=,autoCreateColumnsFromModel=true,autoResizeMode=AUTO_RESIZE_SUBSEQUENT_COLUMNS,cellSelectionEnabled=false,editingColumn=-1,editingRow=-1,gridColor=javax.swing.plaf.ColorUIResource[r=122,g=138,b=153],preferredViewportSize=java.awt.Dimension[width=450,height=400],rowHeight=16,rowMargin=1,rowSelectionAllowed=true,selectionBackground=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],selectionForeground=sun.swing.PrintColorUIResource[r=51,g=51,b=51],showHorizontalLines=true,showVerticalLines=true] 
          CellRendererPane javax.swing.CellRendererPane[,0,0,0x0,hidden] 
        ScrollBar javax.swing.JScrollPane$ScrollBar[,451,21,15x111,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=VERTICAL,unitIncrement=1] 
         MetalScrollButton javax.swing.plaf.metal.MetalScrollButton[,0,96,15x15,alignmentX=0.0,alignmentY=0.5,bo[email protected]f62048,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true] 
         MetalScrollButton javax.swing.plaf.metal.MetalScrollButton[,0,0,15x15,alignmentX=0.0,alignmentY=0.5,bo[email protected]f62048,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true] 
        ScrollBar javax.swing.JScrollPane$ScrollBar[,0,0,0x0,hidden,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=HORIZONTAL,unitIncrement=1] 
         MetalScrollButton javax.swing.plaf.metal.MetalScrollButton[,0,0,0x0,alignmentX=0.0,alignmentY=0.5,bo[email protected]f62048,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true] 
         MetalScrollButton javax.swing.plaf.metal.MetalScrollButton[,0,0,0x0,alignmentX=0.0,alignmentY=0.5,bo[email protected]f62048,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true] 
        JViewport javax.swing.JViewport[,1,1,450x20,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=true,lastPaintPosition=,scrollUnderway=false] 
         JTableHeader javax.swing.table.JTableHeader[,0,0,450x20,alignmentX=0.0,alignmentY=0.0,border=,flags=16777544,maximumSize=,minimumSize=,preferredSize=,draggedDistance=0,reorderingAllowed=true,resizingAllowed=true,updateTableInRealTime=true] 
          CellRendererPane javax.swing.CellRendererPane[,0,0,0x0,hidden] 
       JScrollPane javax.swing.JScrollPane[,1,145,468x226,layout=javax.swing.ScrollPaneLayout$UIResource,alignmentX=0.0,alignmentY=0.0,[email protected]bfc,flags=328,maximumSize=,minimumSize=,preferredSize=,columnHeader=,horizontalScrollBar=javax.swing.JScrollPane$ScrollBar[,0,0,0x0,hidden,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=HORIZONTAL,unitIncrement=1],horizontalScrollBarPolicy=HORIZONTAL_SCROLLBAR_AS_NEEDED,lowerLeft=,lowerRight=,rowHeader=,upperLeft=,upperRight=,verticalScrollBar=javax.swing.JScrollPane$ScrollBar[,0,0,0x0,hidden,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=VERTICAL,unitIncrement=1],verticalScrollBarPolicy=VERTICAL_SCROLLBAR_AS_NEEDED,viewport=javax.swing.JViewport[,1,1,465x223,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=true,lastPaintPosition=,scrollUnderway=false],viewportBorder=] 
        JViewport javax.swing.JViewport[,1,1,465x223,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=true,lastPaintPosition=,scrollUnderway=false] 
         JPanel javax.swing.JPanel[,0,0,465x223,layout=java.awt.GridBagLayout,alignmentX=0.0,alignmentY=0.0,[email protected],flags=9,maximumSize=,minimumSize=,preferredSize=] 
          JLabel javax.swing.JLabel[,132,18,200x200,alignmentX=0.0,alignmentY=0.0,border=,flags=8388608,maximumSize=,minimumSize=,preferredSize=,[email protected],disabledIcon=,horizontalAlignment=CENTER,horizontalTextPosition=TRAILING,iconTextGap=4,labelFor=,text=,verticalAlignment=CENTER,verticalTextPosition=CENTER] 
        ScrollBar javax.swing.JScrollPane$ScrollBar[,0,0,0x0,hidden,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=VERTICAL,unitIncrement=1] 
         MetalScrollButton javax.swing.plaf.metal.MetalScrollButton[,0,0,0x0,alignmentX=0.0,alignmentY=0.5,bo[email protected]f62048,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true] 
         MetalScrollButton javax.swing.plaf.metal.MetalScrollButton[,0,0,0x0,alignmentX=0.0,alignmentY=0.5,bo[email protected]f62048,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true] 
        ScrollBar javax.swing.JScrollPane$ScrollBar[,0,0,0x0,hidden,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=HORIZONTAL,unitIncrement=1] 
         MetalScrollButton javax.swing.plaf.metal.MetalScrollButton[,0,0,0x0,alignmentX=0.0,alignmentY=0.5,bo[email protected]f62048,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true] 
         MetalScrollButton javax.swing.plaf.metal.MetalScrollButton[,0,0,0x0,alignmentX=0.0,alignmentY=0.5,bo[email protected]f62048,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true] 
       MetalSplitPaneDivider javax.swing.plaf.metal.MetalSplitPaneDivider[,1,135,468x10,layout=javax.swing.plaf.basic.BasicSplitPaneDivider$DividerLayout] 
2

按CTRL +SHIFT + F1当您的程序正在运行时查看Swing容器层次结构的转储。将它与上面提到的商品herehere进行比较。