在下面的代碼示例中,我應該給變量label
添加什麼修飾符? 我是Java新手,但我想要做的第一件事就是分解所有可以像JLabel一樣使用的類,並使其可以動態調用。我希望我在下面做了。但是,我不確定private static JLabel label;
,因爲我最終希望能夠在某個主文件中聲明所有的swing類。謝謝。在這個代碼示例中,我應該給什麼修飾符一個變量?
package base;
import java.awt.Component;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class CreateLabel extends JLabel {
private static final long serialVersionUID = 1L;
private static JLabel label;
public Component createLabel(JFrame frame, String text) {
label = new JLabel(text);
return frame.getContentPane().add(label);
}
}
只要公開和靜態是好的,如果你打算從其他類初始化它。你可以使用setter方法,但它毫無意義。 – tommo 2012-07-19 23:45:41
爲什麼'CreateLabel'擴展JLabel?它看起來像你是混淆繼承與建設者模式 – SJuan76 2012-07-19 23:47:03
我的第一個問題將是*爲什麼*?你爲什麼要擴展JLabel來做到這一點?你打算創建一個工廠班嗎?那麼你會希望createlabel不能擴展任何東西,最終,createLabel方法將是靜態的。理想情況下,你永遠不會參考它...... – 2012-07-19 23:48:22