2016-03-30 13 views
2

Bu benim şimdiki arayüzünün bir ekran görüntüsü:Bir kapsama alanını arka plan rengiyle nasıl doldurabilirim? MigLayout?

Screenshot

Benim JLabeltargetJlabel kırmızı noktalı kenarlıklı mülkiyet spany 2 dikdörtgen ile bulunan (? Bence dikdörtgen denir JComponent) ve Bu dikdörtgenin tümünü bir renkle doldurmak istiyorum. Ancak, arka plan rengini JLabel'un kendisinden nasıl ayarlayacağımı göremiyorum.

İşte benim SSCCE geçerli:

package com.sample; 

import java.awt.event.ActionEvent; 
import javax.swing.*; 
import java.awt.event.*; 

public class App 
{ 
    public static void main(String[] args) { 
     App program = new App(); 
     SwingUtilities.invokeLater(program::run); 
    } 

    private void run() { 
     JFrame w = new JFrame(); 
     w.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 

     JPanel d = new JPanel(); 
     d.setLayout(new MigLayout(
       "debug, fill", 
       "[min!][min!][min!][min!][min!]", 
       "[][][grow]")); 

     JLabel targetJlabel = new JLabel("I want this colour to fill up to the dotted red line"); 
     targetJlabel.setBackground(Color.CYAN); 
     targetJlabel.setOpaque(true); 
     d.add(targetJlabel, "spany 2"); 

     d.add(new JTextField("type here"), "growx, spanx 3"); 

     d.add(new JButton("Search"), "spany 2, wrap"); 

     d.add(new JCheckBox("box1")); 
     d.add(new JCheckBox("box2")); 
     d.add(new JCheckBox("box3"), "wrap"); 

     w.add(d); 
     w.pack(); 
     w.setVisible(true); 
    } 
} 

cevap

2

Bu küçük değişiklik

d.add(targetJlabel, "growy, spany 2"); 

enter image description here

+0

Ah :-) hile yapar, bu çok güzel, teşekkür ederim! –

+0

@JamieBirch Hoşgeldin :-) – RubioRic