Java 如何显示JButton数组中的9x9 JButton? JButton btn=newjbutton(); 据英国《英国广播公司(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日)10日(北京)10月10日(北京)10月10日(北京)10日(北京)10月10日(北京)10月10日)10日)10月10日(北京)10月10月10日(北京)10日)10月10日(北京)10月10月10日)10日(北京)10月10日(北京)10日(北京)10月10月10月10日)10日(北京6月10日)10月10月10日(北京)10月10日(北京)10日)10日(北京)10月10月10月10日)10月10日(北京)10日)btn,btn},{btn,btn,btn,btn,btn,btn,btn,btn,btn,btn,btn},{btn,btn,btn,btn,btn,btn,btn,btn,btn},{btn,btn,btn,btn,btn,btn,btn,btn,btn,btn}; 公共场所(){ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 立根(100100450300); contentPane=newjpanel(); setboorder(新的EmptyBorder(5,5,5,5)); setLayout(新的GridLayout(9,9)); setContentPane(contentPane); 对于(int ligne=0;ligne
问题原因: 数组的所有元素都指向同一按钮Java 如何显示JButton数组中的9x9 JButton? JButton btn=newjbutton(); 据英国《英国广播公司(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日(北京)10月10日)10日(北京)10月10日(北京)10月10日(北京)10日(北京)10月10日(北京)10月10日)10日)10月10日(北京)10月10月10日(北京)10日)10月10日(北京)10月10月10日)10日(北京)10月10日(北京)10日(北京)10月10月10月10日)10日(北京6月10日)10月10月10日(北京)10月10日(北京)10日)10日(北京)10月10月10月10日)10月10日(北京)10日)btn,btn},{btn,btn,btn,btn,btn,btn,btn,btn,btn,btn,btn},{btn,btn,btn,btn,btn,btn,btn,btn,btn},{btn,btn,btn,btn,btn,btn,btn,btn,btn,btn}; 公共场所(){ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 立根(100100450300); contentPane=newjpanel(); setboorder(新的EmptyBorder(5,5,5,5)); setLayout(新的GridLayout(9,9)); setContentPane(contentPane); 对于(int ligne=0;ligne,java,arrays,swing,jbutton,Java,Arrays,Swing,Jbutton,问题原因: 数组的所有元素都指向同一按钮btn 同样地,当您添加它们时,您只添加面板中已经存在的相同按钮。因此,您只看到1个按钮 如何解决: 在数组声明中,将所有btns替换为new JButton()。使用IDE的replace函数可以轻松完成此操作 或 只需声明数组,如下所示: JButton btn = new JButton(); JButton[][] boutons = {{btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn,
btn
同样地,当您添加它们时,您只添加面板中已经存在的相同按钮。因此,您只看到1个按钮
如何解决:
- 在数组声明中,将所有
s替换为btn
。使用IDE的replace函数可以轻松完成此操作new JButton()
- 只需声明数组,如下所示:
并在for循环中添加以下行:JButton btn = new JButton(); JButton[][] boutons = {{btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}}; public Fenetre() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new GridLayout(9, 9)); setContentPane(contentPane); for (int ligne=0;ligne<boutons.length;ligne++) { for(int colone=0;colone<boutons[ligne].length;colone++) { JButton bouton = boutons[ligne][colone]; bouton.setName(String.valueOf(ligne) + " : " + String.valueOf(colone)); System.out.println(String.valueOf(ligne) + " " + String.valueOf(colone)); bouton.addActionListener(this); contentPane.add(bouton); } } }
JButton[][] boutons = new JButton[9][9];
bouton = new JButton();