日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

按钮控件数组实现计算器界面

發布時間:2024/1/1 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 按钮控件数组实现计算器界面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數組的應用范圍非常廣泛,靈活運用可以提高程序的開發效率,減少重復代碼。例如,本實例通過按鈕數組來管理界面中的所有按鈕控件,從而使用最少的代碼實現了模擬的計算器界面。實例運行效果如圖

本實例的關鍵點在于GridLayout布局管理器的應用,通過它可以自動完成控件的布局與大小控制;否則,還要單獨創建控制每個控件位置與大小的代碼,其代碼復雜度可想而知。通過GridLayout布局管理器,只需要指定布局的行列數量即可。下面介紹GUI如何使用GridLayout布局管理器。 ?創建指定行列數量的布局管理器 可以在GridLayout類的構造方法中傳遞兩個int類型的參數,分別指定布局的行數與列數,其方法聲明如下: public GridLayout(int rows, int cols) 參數說明 rows:布局的行數。 cols:布局的列數。 ?設置容器的布局管理器 創建容器布局管理器后,可以把它添加到某個容器的layout屬性中,這需要調用容器的設置布局管理器的方法來實現,其語法聲明如下: public void setLayout(LayoutManager mgr) 參數說明 mgr:布局管理器對象。

在項目中創建ButtonArrayExample窗體類。在窗體中添加一個文本框控件用于模擬計算器的液晶屏,然后在構造方法中設置窗體標題、布局管理器,并創建JButton控件的二維數組,其中每個數組元素都初始化為一個按鈕控件,同時再聲明一個按鈕名稱的字符串數組,這兩個數組共同初始化界面中的所有按鈕控件。代碼如下:

import java.awt.Container; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.UIManager; import javax.swing.JTextField; import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.SwingConstants;

public class ButtonArrayExample extends JFrame { // 繼承窗體類JFrame /** * */ private static final long serialVersionUID = 6626440733001287873L; private JTextField textField;

public static void main(String args[]) {try {UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");} catch (Throwable e) {e.printStackTrace();}ButtonArrayExample frame = new ButtonArrayExample();frame.setVisible(true); // 設置窗體可見,默認為不可見 }public ButtonArrayExample() {super(); // 繼承父類的構造方法BorderLayout borderLayout = (BorderLayout) getContentPane().getLayout();borderLayout.setHgap(20);borderLayout.setVgap(10);setTitle("按鈕數組實現計算器界面 "); // 設置窗體的標題setBounds(100, 100, 290, 282); // 設置窗體的顯示位置及大小setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 設置窗體關閉按鈕的動作為退出textField = new JTextField();textField.setHorizontalAlignment(SwingConstants.TRAILING);textField.setPreferredSize(new Dimension(12, 50));getContentPane().add(textField, BorderLayout.NORTH);textField.setColumns(10);final GridLayout gridLayout = new GridLayout(4, 0); // 創建網格布局管理器對象gridLayout.setHgap(5); // 設置組件的水平間距gridLayout.setVgap(5); // 設置組件的垂直間距JPanel panel = new JPanel(); // 獲得容器對象panel.setLayout(gridLayout); // 設置容器采用網格布局管理器getContentPane().add(panel, BorderLayout.CENTER);String[][] names = { { "1", "2", "3", "+" }, { "4", "5", "6", "-" },{ "7", "8", "9", "×" }, { ".", "0", "=", "÷" } };JButton[][] buttons = new JButton[4][4];for (int row = 0; row < names.length; row++) {for (int col = 0; col < names.length; col++) {buttons[row][col] = new JButton(names[row][col]); // 創建按鈕對象panel.add(buttons[row][col]); // 將按鈕添加到面板中}} }

}

心法領悟:用數組管理重復類型的數據。 像本實例的界面設計一樣,程序開發中有很多重復類型的數據,在界面設計器中可以清晰地看出重復性的按鈕控件。

轉載于:https://my.oschina.net/u/3212883/blog/840462

總結

以上是生活随笔為你收集整理的按钮控件数组实现计算器界面的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。