Привет, у меня есть два кода, один расширяет JFrame, потому что это JFrame. Класс Other должен получить доступ к методу publi c из этого JFrame, чтобы распознать некоторые значки на этой панели Jframe. В настоящее время я пытаюсь получить доступ к этому методу без вызова или повторной инициализации самого JFrame. Вместо этого я хотел бы знать, есть ли способ доступа к методу в панели JFrame без необходимости повторного открытия фрейма, поскольку он уже инициализирован.
public class GridLayoutManager extends JFrame {
private Container contents;
private JButton[][] squares = new JButton[8][8];
private Color colorBlack = Color.darkGray;
private Color colorWhite = Color.white;
// Knight Images
private ImageIcon BlackKnight;
private ImageIcon WhiteKnight;
public GridLayoutManager() {
super("Chess");
contents = getContentPane();
contents.setLayout(new GridLayout(8, 8));
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
squares[i][j] = new JButton();
if ((i + j) % 2 != 0) {
squares[i][j].setBackground(colorBlack);
} else {
squares[i][j].setBackground(colorWhite);
}
contents.add(squares[i][j]);
squares[i][j].addActionListener(buttonHandler);
}
}
squares[knight.row][knight.columns].setIcon(BlackKnight);
squares[knight.row2][knight.columns2].setIcon(BlackKnight);
setSize(500, 500);
setResizable(false);
setLocationRelativeTo(null);
setVisible(true);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public JButton[][] gridLayout() {
return squares;
}
}
и
public class BishopMovement {
}
Мне известно о доступе к JFrame с помощью этой строки кода:
GridLayoutManager squares = new GridLayoutManager().gridLayout()
Однако это снова инициализирует JFrame, и это недопустимо. Есть ли способ получить этот метод без инициализации JFrame?