一、简单的GUI界面的计算器制作
- 布局管理JPanel容器
(1) JPanel是最简单的容器类。应用程序可以将其他
组件放在面板提供的空间内 。
(2)JPanel只能存在于其他的容器(Window或其子类)
中,一般被放入Frame中。
(3)JFrame可以被划分为若干个JPanel,然后在
JPanel上进一步进行组件的布局。
不能为JPanel设置标题。
2.布局管理分类
(1)Frame的默认布局管理器是:FlowLayout
(2)JAVA中常用的布局:
FlowLayout(流式布局)
BorderLayout(边框布局)
GridLayout(网格布局)
CardLayout (卡片布局)
3.设计步骤
(1)首先创建一个窗体
//第一个窗体
public class Count1 extends JFrame {
//定义组件
JLabel lab;//标签
JButton button;//按钮
JTextField text;//文本
//初始化窗体
public void window() {
//标题
this.setTitle("计算器");
//大小
this.setSize(300,400);
//居中位置
this.setLocationRelativeTo(null);
}
public Count1() {
window();
//实例化组件
lab=new JLabel("username");
text=new JTextField();
text.setColumns(10);
button=new JButton("提交");
//设置面板布局为BorderLayout
this.getContentPane().setLayout(new BorderLayout());
//面板北部设置为文本
JPanel panelNorth=new JPanel();
panelNorth.add(text);
this.getContentPane().add(panelNorth, BorderLayout.NORTH);
}
public static void main(String[] args) {
new Count1();
}
}
我们会发现运行的时候没有出现窗体,这是什么原因呢?
是因为还有一个重要代码没有写:是否可显示
this.setVisible(true);
加上之后我们发现窗体出现了:
(2)完成南部的布局
利用数组进行循环输出botton
//定义数组存放符号
String[] arry= {"0","1","2","3","4","5","6","7","8","9","+","-","*","/","=",};
//定义容器
JPanel panelCenter=new JPanel(new GridLayout(5, 3));
//容器不可单独存在,需存放在其他中,添加到面板
this.getContentPane().add(panelNorth,BorderLayout.NORTH);
this.getContentPane().add(panelCenter,BorderLayout.CENTER);
for(int i=0;i<arry.length;i++) {
panelCenter.add(new Button(arry[i]));
}
(3)最后测试
4.计算机界面就完成啦,但是这只是一个界面设计,点击按钮发现没有反应,因为我们后续还要进行相应操作。