저는 잠시 동안이 문제에 시달렸습니다. MVC 패턴을 사용하는 프로그램을 만들려고합니다. 사용자 입력을 기반으로 버튼 격자 (nxn)를 동적으로 생성합니다. 그러나 나는 그들에게 청취자를 붙일 권리를 얻을 수는 없다.동적 버튼의 이벤트 리스너
편집 : 나는 컨트롤러
public class AIGameController {
private AIGameView view;
private AIGameModel model;
private JButton[][] buttons;
public AIGameController(AIGameModel m, AIGameView v) {
view = v;
model = m;
}
내가 해봤
보기
public class AIGameView extends javax.swing.JFrame {
private AIGameModel model;
private JButton[][] btn_arr;
public AIGameView(AIGameModel m) {
model = m;
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {...}
private void startBtnActionPerformed(java.awt.event.ActionEvent evt) {
options.setVisible(false);
int size = Integer.parseInt(size_field.getText());
model.setSize(size);
btn_arr = new JButton[size][size];
GameGUI.setLayout(new java.awt.GridLayout(size, size));
for(int y = 0; y < size; y++) {
for(int x = 0; x < size; x++) {
btn_arr[y][x] = new JButton();
btn_arr[y][x].setBackground(Color.white);
GameGUI.add(btn_arr[y][x]);
btn_arr[y][x].setVisible(true);
}
}
GameGUI.setVisible(true);
GameGUI.revalidate();
GameGUI.repaint();
}
MVC 패턴에 부합하는 컨트롤러 클래스의 내부 이벤트를 처리 할 싶었다는 것을 의미 몇 가지,하지만이 아무것도 작동하지 않는 것 그리고 대부분 그냥 null 포인터 예외로 끝납니다. 이것에 대한 조언?
startBtnActionPerformed() 메소드를 성공적으로 사용하고 있습니까? – Zyn
예, 그리드를 만듭니다. 죄송합니다 Netbeans를 사용하여 GUI를 만들 때 일부 코드를 밖으로 데려 간 –