【问题标题】:Split labels in JTabbedPane在 JTabbedPane 中拆分标签
【发布时间】:2015-02-03 11:26:47
【问题描述】:

我需要更改标签在 JTabbedPane 上的分布。

我有这个:

我想这样做: 有人可以帮我吗?

我把代码贴在下面:

 tabbedResultsPane = new JTabbedPane(SwingConstants.TOP);

     JPanel featurePanel = new JPanel(new GridLayout(TOTAL_FEATURES, 2, 3, 3));  
     estadoScroll = new JScrollPane(featurePanel,
                      JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
                      JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        lblFeatureHdr = new JLabel[TOTAL_FEATURES];
        lblFeature = new JLabel[TOTAL_FEATURES];
        for(int i=0; i<TOTAL_FEATURES; i++)
        {
           lblFeatureHdr[i] = new JLabel(strHeader[i], JLabel.RIGHT);
           lblFeatureHdr[i].setOpaque(true);  
           lblFeatureHdr[i].setBackground(new Color(220,255,220));//.lightGray);

           lblFeature[i] = new JLabel("", JLabel.LEFT);
           lblFeature[i].setForeground(Color.blue);// black); 

           featurePanel.add(lblFeatureHdr[i]);
           featurePanel.add(lblFeature[i]);                
        }            

【问题讨论】:

    标签: java swing split layout-manager jtabbedpane


    【解决方案1】:

    定义 4 列 GridLayout(而不是您拥有的 2 列)。

    并更正您的代码,为每行添加 2 个标签。

    for(int i=0; i<TOTAL_FEATURES; i++)
        {
           lblFeatureHdr[i] = new JLabel(strHeader[i], JLabel.RIGHT);
           lblFeatureHdr[i].setOpaque(true);  
           lblFeatureHdr[i].setBackground(new Color(220,255,220));//.lightGray);
    
           lblFeature[i] = new JLabel("", JLabel.LEFT);
           lblFeature[i].setForeground(Color.blue);// black); 
    
           featurePanel.add(lblFeatureHdr[i]);
           featurePanel.add(lblFeature[i]);  
           // add 2 more lables to the same row    
           JLabel l=new JLabel(strHeader[i], JLabel.RIGHT);
           l.setBackground(new Color(220,255,220));//.lightGray);          
           featurePanel.add(l);
           featurePanel.add(new JLabel("", JLabel.LEFT));                
        }            
    

    【讨论】:

    • 它很接近,但是用你的代码我失去了第三列的绿色背景,你能帮我多一点吗?
    • 代码已更新。事实上,您可以生成所需的 JLabel 实例并将所有样式应用于数组中的第一个 JLabel。
    • 它不起作用,我有一列是绿色的,但其他的是白色的
    • “它不起作用” 为了尽快获得更好的帮助,请发布MCVE(最小完整可验证示例)或SSCCE(简短、自包含、正确示例)。
    猜你喜欢
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 2019-07-22
    • 2013-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多