2012-07-27 74 views
2

我剛剛發現這真的很棒ColorFactory我在第一個Swing項目中使用的類。它非常酷:我現在可以將我主要類中的命名顏色(例如「深紅色」或「mediumaquamarine」)傳遞給createContentPaneContainer方法。我需要另一種方法來使用ColorFactory類嗎?

代碼:

frame.setContentPane(ContentPaneCreator.createContentPane("darkorange"));` 

問:

我是否需要public final void setBackground(Color color, JPanel contentPane)方法呢?是否可以在createContentPane()方法內完成所有操作?感謝您的幫助。

import java.awt.Color; 
import java.awt.Container; 
import javax.swing.JPanel; 

public final class ContentPaneCreator extends JPanel { 

    private static final long serialVersionUID = 1L; 

    public static Container createContentPane(String color) { 

     JPanel contentPane = new JPanel(); 

     // awesome txt to Color conversions using the ColorFactory().getColor(); 
     // written by The Lobo Project 
     new ContentPaneCreator().setBackground(
       new ColorFactory().getColor(color), contentPane); 

     contentPane.setOpaque(true); 
     return contentPane; 
    } 

    public final void setBackground(Color color, JPanel contentPane) { 
     contentPane.setBackground(color); 
    } 
) 

回答

2

回答你的問題 - 我看不出爲什麼(或爲什麼你需要開始,但乾草)。

擴展答案:

它應該是:(如果我們看同一段代碼)

ColorFactory.getInstance().getColor(colorName); 

其他明智的,你創建的每個實例的彩色地圖,這僅僅是一個浪費。

我也不知道爲什麼你需要擴展JPanel,但它不是我的代碼:P

+0

哇..只是哇。我正在擴展JPanel,因爲我預計將來會使用它的功能。 – JoJo 2012-07-27 01:36:09

+1

乾草,這是你的設計,如果你需要它,你需要:) – MadProgrammer 2012-07-27 01:42:59

相關問題