我想在JLabel中有一個ImageIcon,我將能夠從另一種方法進行更新。但我無法想出一種方法來創建一個靜態JLabel(以便能夠從另一種方法中獲取它),並將其設置爲包含imageIcon的Jlabel--是否有除JLabel標籤之外的另一種方法=新的JLabel(imgIcon)用imageIcon創建一個標籤?試圖使用setIcon方法,而不將標籤按照上面的方式安裝,但它給出了空指針異常。衷心感謝您的幫助。如何製作具有可用於所有方法和類的imageIcon的JLabel?
0
A
回答
1
不要讓JLabel成爲靜態 - 而是將其定義在其他方法之外,但仍然在您的類中。
public class Test {
private JLabel label = new JLabel(new ImageIcon(/*your icon*/));
}
如果需要從另一個類訪問,創建訪問方法:
public JLabel getLabel() {
return label;
}
0
只使用靜態方法或對象在任何類(如Clazz
)當你想訪問它們,而無需創建一個對象(如Clazz c = new Clazz();
)。舉例來說,如果我做一個靜態方法public static void staticMethod() {}
和常規方法public void regularMethod() {}
,這是我如何訪問它們:
public class Clazz //A class with methods
{
public void regularMethod()
{
//Do something local
}
public static void staticMethod()
{
//Do something static
}
}
public class Main //The main class with the main method.
{
public static void main(String[] args)
{
Clazz.staticMethod();
Clazz c = new Clazz();
c.regularMethod();
}
}
注意,我沒有叫Clazz.regularMethod();
,因爲那是不可能的。我沒有打電話給c.staticMethod();
,因爲那是糟糕的形式,儘管這是可能的。
總而言之,請儘量不要使用靜態對象,除非(A)是絕對必要的,或(B)有如果創建的標籤公開方式在任何時候任何情況下
相關問題
- 1. 是否有可能爲JLabel中的ImageIcon製作選擇工具?
- 2. 如何列出具有使用VBScript方法的所有WMI類?
- 3. 將ImageIcon加載到現有的JLabel上
- 4. ImageIcon方法不適用於所有圖像
- 5. Java - setLocation /帶有ImageIcon的JLabel的邊界不能用於其他類
- 6. 子類是否具有父類的所有屬性和方法?
- 7. 更改JLabel的ImageIcon
- 8. 如何列出Eclipse Java中所有類的所有方法的所有用法?
- 9. 具有所有具體方法的普通類和具有所有具體方法的抽象類有什麼區別
- 10. JLabel ImageIcon沒有正常平滑
- 11. 如何調整JLabel ImageIcon的大小?
- 12. 我如何製作可用於所有選擇的佈局
- 13. 的JLabel ImageIcon的位置
- 14. 具有所有具體方法的抽象類
- 15. 將aspect應用於類中的所有方法/動作
- 16. 可以JLabel的具有IMG標籤
- 17. 如何使用JLabel創建和調用類中的方法?
- 18. Java ImageIcon/Icon和JLabel無法正常工作
- 19. 如何獲得具有特定註釋的所有方法的javadoc,方法名稱和包/類名稱?
- 20. PyCharm:列出一個類的所有方法的所有用法
- 21. 如何使一個方法可用於所有控制器?以及如何對所有模型?
- 22. Application.SysCmd方法的所有可能用法
- 23. 如何從JButton/JLabel更新ImageIcon
- 24. 如何在ImageIcon前移動JLabel?
- 25. 如何將ImageIcon設置爲JLabel數組?
- 26. 你如何使一個NSObject「全局」/可用於所有方法?
- 27. 如何製作具有div和可變寬度的滑塊?
- 28. 具有equals和hashCode方法的通用接口,有可能嗎?
- 29. 將PostSharp方面應用於Log類中的所有方法
- 30. 關於所有私有方法的LNK2001
訪問可我如果它是在任何方法之外創建的,則可以從同一類中的其他方法訪問它?因爲我得到一個錯誤,告訴我一個非靜態變量不能被靜態上下文引用?這是否意味着即使是在同一個類中,我也必須使用getlabel(0方法?如果是這樣,我該如何使用getlabel()方法?是否需要創建一個標籤來調用getLabel方法,即label2 = test。 getLabel()?或者如何訪問它以更改標籤中的圖標?謝謝 – pie154 2009-08-06 23:27:22
如果您想從同一類中的其他方法訪問,請不要使您的方法成爲靜態的。 – AlbertoPL 2009-08-06 23:52:22
但如果我想要怎麼做從同一個班級和另一個班級訪問? – pie154 2009-08-07 07:56:20