Я работаю над проектом, в котором у меня есть класс HGraphic, расширяющий JPanel. Этот класс имеет открытый метод updateNum, который получает целое число в качестве параметра и выполняет с ним некоторую работу, обновляя некоторые элементы.
Этот класс HGprahic имеет экземпляр в главном классе моего проекта (основной класс расширяет JFrame) ... Мне нужно вызвать этот конкретный метод HGraphic из основного класса, отправив переменную в качестве параметра.
Проблема в том, что, хотя метод объявлен как открытый, я не могу получить к нему доступ, используя обычный hGraphicInstance.method (переменная), как обычно.
Я просмотрел документацию JPanel, но не нашел нигде, где говорится, что вы не можете получить доступ к пользовательским методам ... или что вы не можете создавать сеттеры (другой способ делать то, что мне нужно).
Когда я создаю экземпляр класса 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);
}
}
Еще раз спасибо!