久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

對象 - Java JButton數組初始化后還是空?

瀏覽:122日期:2024-01-05 13:07:00

問題描述

import java.awt.Container;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.rmi.server.Operation;import java.text.Normalizer.Form;import java.util.ArrayList;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JTextField;public class Calc extends JFrame implements ActionListener{ JTextField text; JButton[] myBtns = new JButton[16];String[] btnName = {'7','8','9','+','4','5','6','-','1','2','3','*','C','0','=','/'}; public Calc() {super('計算器界面練習');this.setBounds(200, 0, 635,600);Container content = this.getContentPane();FlowLayout flow = new FlowLayout();flow.setAlignment(FlowLayout.LEFT);content.setLayout(flow);text = new JTextField('0123');text.setPreferredSize(new Dimension(600, 100));text.setEditable(false);text.setHorizontalAlignment(JTextField.RIGHT);text.setFont(new Font('宋體',Font.PLAIN , 80));content.add(text);int index = 0;for (JButton btn : myBtns){ btn = new JButton(btnName[index]); btn.setPreferredSize(new Dimension(145,100)); btn.setFont(new Font('Times New Roman',Font.BOLD,80)); btn.addActionListener(this); content.add(btn); index++;}setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }@Override public void actionPerformed(ActionEvent e) {ArrayList<String> array = new ArrayList<String>();System.out.println(myBtns[0]);//為什么是Nullarray.add(e.getActionCommand());System.out.println(e.getSource());text.setText(text.getText()+e.getActionCommand()); }}

運行結果如下圖,按鈕都顯示出來了,為什么輸出是Null?對象 - Java JButton數組初始化后還是空?對象 - Java JButton數組初始化后還是空?

問題解答

回答1:

Java foreach語句中的btn只是遍歷myBtns的備份(傳值),并不是引用。引用相當于對原始數據做操作,賦值相當于對原始數據的副本做操作。所以要在foreach中加一句myBtns[index] = btn;

for (JButton btn : myBtns){ btn = new JButton(btnName[index]); myBtns[index] = btn; btn.setPreferredSize(new Dimension(145,100)); btn.setFont(new Font('Times New Roman',Font.BOLD,80)); btn.addActionListener(this); content.add(btn); index++;}

標簽: java
相關文章:
主站蜘蛛池模板: 南部县| 同仁县| 扎鲁特旗| 绵竹市| 肇庆市| 盐津县| 军事| 临漳县| 玛沁县| 金阳县| 电白县| 武义县| 五家渠市| 宁津县| 城市| 泰兴市| 天柱县| 项城市| 凤翔县| 班玛县| 雅安市| 毕节市| 固镇县| 连山| 徐闻县| 西丰县| 紫金县| 阿拉善左旗| 南皮县| 达拉特旗| 沭阳县| 泰安市| 甘泉县| 黄平县| 莲花县| 奇台县| 白银市| 阜新| 巫溪县| 金川县| 杂多县|