8

私のレイアウトでは、JPanel の下部に二重の境界線が必要です。一方は少し暗く、もう一方は少し明るくする必要があります。

現在、私は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);

既にある境界線の下に別の境界線を追加するにはどうすればよいですか? これは可能ですか?

4

1 に答える 1

18

使うCompoundBorder

つまり...

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

詳細については、境界線の使用方法を参照してください

于 2013-07-25T06:02:16.580 に答える