我正在開發一個項目,其中有一個名爲HGraphic的類,它擴展了JPanel。這個類有一個名爲updateNum的公共方法,它接收一個整數作爲參數,並對它做一些工作,更新一些元素。Swing - 擴展JPanel類的方法和屬性無法從JFrame訪問
這個HGprahic類在我的項目的主類中有一個實例(主類擴展了JFrame)...我需要從發送變量作爲參數的主類調用HGraphic的這個特定方法。
問題是,雖然該方法被宣佈爲公共,但我無法像正常情況下那樣執行正常的hGraphicInstance.method(變量)操作。
我已經通過JPanel文檔,但沒有發現任何地方說你不能訪問自定義方法......或者你不能創建setters(另一種做我需要的方法)。
當我實例化HGraphic類時,我使用JComponent類來完成它,這可能是原因嗎?
你有什麼想法或建議嗎?我真的很感激在這件事情上的一點點光。感謝非常多!
我把代碼的主要位:
// CLASS CAUSING THE PROBLEM ------------------
public class HGraphic extends JPanel {
// Attributes
public int numberOfCoincidences = 0;
// Constructor
public HGraphic() {
super(new BorderLayout());
}
public void updateNum(int tmpNum) {
numberOfCoincidences = tmpNum;
}
}
// MAIN FRAME CLASS ----------------------------------
public class HSFrame extends javax.swing.JFrame {
private int newNum = 5;
private JComponent newContentPane;
public HSFrame() {
initComponents();
}
private void initComponents() {
newContentPane = new HGraphic();
// HERE IS WHERE I WOULD LIKE TO ACCESS THE CLASS METHOD
// NetBeans say it does not recognize this method :(
newContentPane.updateNew(newNum);
}
}
再次感謝您!
重新格式化代碼;如果不正確請回復。 – trashgod 2010-08-25 16:31:18