2012-03-06 51 views
0

我正在構建一個JFrame,我希望在其上有3個不同顏色的3 JLabel實例。在標籤中使用多種背景顏色

  1. WHITE
  2. RED
  3. WHITE

這是我的代碼:

package View; 

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

public class Home extends JFrame { 

    private JLabel label, label1; 
    private JPanel panel; 
    private Container window = getContentPane(); 

    public Home(){ 
     initGUI(); 
    } 

    public void initGUI(){ 
     setLayout(null); 
     setTitle(""); 
     setPreferredSize(new Dimension(800,600)); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     label = new JLabel();  
     label.setBounds(0, 0, 266, 800); 
     label.setBackground(Color.WHITE); 
     label.setOpaque(true); 
     this.add(label); 

     panel = new JPanel(); 

     pack(); 
    } 
} 

但是當我添加第二個標籤與紅色必須站在旁邊白色背景,白色背景將消失

+2

哪裏是你的3個標籤?我在代碼中只看到2個。並且只有一個被實例化並被添加。 – 2012-03-06 10:36:42

+2

您已經使用label.setBackground(Color.WHITE);.是否難以將其應用於其他標籤?它是否需要你在這個夢幻般的網站上提出這樣的問題?指定我們的問題。 – Juvanis 2012-03-06 10:37:36

+0

檢查你寫的是什麼'label.setBounds(0,0,266,800);'。下一個標籤必須位於'label.setBounds(267,0,266,800);'和'label3.setBounds(533,0,266,800);',以便一個接一個。希望在錯誤的地方提供界限不是問題。請檢查:-) – 2012-03-06 11:12:01

回答

0

使用HTML作爲文本標籤作爲

public class test { 

public static void main(String[] args) { 
    String initialText = "<html>\n" + 
    "Color and font test:\n" + 
    "<table>"+ 
    "<ul>\n" + 
    "<tr>"+ 
    "<td bgcolor=\"#C0C0C0\">"+ 
    "<li><font color=red>red</font>\n" + 
    "</td>"+ 
    "</tr>"+ 
    "<tr>"+ 
    "<td bgcolor=\"#FF0000\">"+ 
    "<li><font color=blue>blue</font>\n" + 
    "</td>"+ 
    "</tr>"+ 
    "<tr>"+ 
    "<td bgcolor=\"#800000\">"+ 
    "<li><font color=green>green</font>\n" + 
    "</td>"+ 
    "</tr>"+ 
    "<tr>"+ 
    "<td bgcolor=\"#FFFF00\">"+ 
    "<li><font size=-2>small</font>\n" + 
    "</td>"+ 
    "</tr>"+ 
    "<tr>"+ 
    "<td bgcolor=\"#808000\">"+ 
    "<li><font size=+2>large</font>\n" + 
    "</td>"+ 
    "</tr>"+ 
    "<tr>"+ 
    "<td bgcolor=\"#00FFFF\">"+ 
    "<li><i>italic</i>\n" + 
    "</td>"+ 
    "</tr>"+ 
    "<tr>"+ 
    "<td bgcolor=\"#008080\">"+ 
    "<li><b>bold</b>\n" + 
    "</td>"+ 
    "</tr>"+ 
    "</ul>\n"+ 
    "</table>" 
    ; 
    JFrame f = new JFrame("This is a test"); 
    f.setSize(400, 150); 
    Container content = f.getContentPane(); 
    content.setBackground(Color.white); 
    content.setLayout(new FlowLayout()); 
    content.add(new JLabel(initialText)); 


    f.setVisible(true); 
    } 

}