您好,欢迎访问一九零五行业门户网

java按钮控件数组实现计算器界面示例分享

思路如下:
创建一个类,通过extends使其继承窗体类jframe;
创建一个jframe对象,使用jframe类的setvisible()方法设置窗体可见;
在构造函数中,使用super()方法继承父类的构造方法;
使用settitle()方法设置窗体的标题;
使用setbounds()方法设置窗体的显示位置及大小;
使用setdefaultcloseoperation()方法设置窗体关闭按钮的动作为退出;
使用gridlayout创建网格布局管理器对象;
使用gridlayout类的sethgap()方法设置组件的水平间距;
使用gridlayout类的setvgap()方法设置组件的垂直间距;
创建jpanel容器对象;
通过jpanel类的setlayout()方法设置容器采用网格布局管理器;
创建一个字符串型二维数组,初始化其值为计算器上对应按钮上显示的值;
创建一个jbutton型二维数组,并为其分配和之前的字符串型二维数组对应的空间;
遍历字符串型二维数组,对它的每个元素都将其赋值给jbutton型二维数组中的对应按钮,并对每个按钮添加事件,使得点击按钮时在文本输入框中显示对应的值,最后使用jpanel类的add()方法将按钮添加到面板中。
import java.awt.borderlayout; import java.awt.dimension; import java.awt.gridlayout; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jpanel; import javax.swing.jtextfield; import javax.swing.swingconstants; import javax.swing.uimanager; 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]); // 创建按钮对象 buttons[row][col].addactionlistener(new actionlistener() { @override public void actionperformed(actionevent e) { jbutton button = (jbutton) e.getsource(); string text = textfield.gettext(); textfield.settext(text + button.gettext()); } }); panel.add(buttons[row][col]); // 将按钮添加到面板中 } } } }
更多java按钮控件数组实现计算器界面示例分享。
其它类似信息

推荐信息