2013-07-25 9 views
7

मेरे लेआउट के लिए मैं अपने जेपीनल के नीचे डबल सीमाएं रखना चाहता हूं, एक थोड़ा गहरा होना चाहिए और दूसरा थोड़ा हल्का होना चाहिए।जावा जेपीनेल दो सीमाएं, अलग-अलग रंग?

वर्तमान में मैं 1 सीमा है:

JPanel pnlTop = new JPanel(new BorderLayout()) { 
    protected void paintComponent(Graphics grphcs) { 
     super.paintComponent(grphcs); 
     Graphics2D g2d = (Graphics2D) grphcs; 
     g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); 
     GradientPaint gp = new GradientPaint(0, 0, 
       new java.awt.Color(237, 237, 237), 0, getHeight(), 
       new java.awt.Color(222, 222, 222)); 
     g2d.setPaint(gp); 
     g2d.fillRect(0, 0, getWidth(), getHeight()); 
    } 
}; 
pnlTop.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, new java.awt.Color(173, 173, 166))); 
pnlTop.setPreferredSize(new Dimension(2000, 90)); 
add(pnlTop, BorderLayout.PAGE_START); 

कैसे मैं एक मैं पहले से ही है कि नीचे एक और सीमा जोड़ सकते हैं? क्या यह संभव है?

उत्तर

15

उपयोग एक CompoundBorder

यानी ...

pnlTop.setBorder(new CompoundBorder(
    BorderFactory.createMatteBorder(0, 0, 1, 0, Color.BLUE), 
    BorderFactory.createMatteBorder(0, 0, 1, 0, Color.RED)); 

अधिक जानकारी के

+0

नाइस की मदद की है करने के लिए :) – MadProgrammer

+2

इसके अलावा के लिए How to use Borders देखें, मत भूलना, आप 'CompoundBorder' उपयोग कर सकते हैं 'कंपाउंडबॉर्डर 'के भीतर है – MadProgrammer