JAVA 图形界面 入门 按钮
~常用的包
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
~基础方法案例(一)
public class ButtonDemo extends JFrame {
public ButtonDemo() {
JButton jbHello = new JButton("Hello");//按钮
jbHello.addActionListener(new ActionListener() {//给按钮添加事件接收器
public void actionPerformed(ActionEvent e) {//接受到事件后,进行下面的处理
System.out.println("Hello World");// 输出Hello World
JOptionPane.showMessageDialog(null, "Hello World");// 弹出对话框
}
});
add(jbHello);//把按钮添加到窗体
setLayout(new FlowLayout());// 流式布局, 按添加顺序从左到右排列组件
setSize(300, 200);// 宽300高200
setLocationRelativeTo(null);// 窗体放在显示器中间
setTitle("HelloWord");// 窗体的标题 super("Hello World");的区别?
setDefaultCloseOperation(EXIT_ON_CLOSE);// 点击窗体右上角的关闭按钮时,结束程序
setVisible(true);// 窗体可见
}
public static void main(String[] args) {//主函数
new ButtonDemo();
}
}
~基础方法案例(二)
public class AddFrame extends JFrame implements ActionListener {//继承JFrame类, 并实现ActionListener 接口
// 定义组件
JTextField jtf1, jtf2, jtf3;// 定义文本框 用于:显示数字
JButton jbAdd;// 定义按钮 用于:当点击按钮时,计算出加法的结果
JButton jbClear;// 定义按钮, 用于:清空数字
public AddFrame() {// 构造方法
// 初始化组件
jtf1 = new JTextField(5);// 长度为5的文本框
JLabel jl = new JLabel("+");//文字标签
jtf2 = new JTextField(5);//创建长度为5的文本框
jtf3 = new JTextField(6);//创建长度为6的文本框
jtf3.setEditable(false);//调用这个函数的控件不能被编辑,true可编辑
jbAdd = new JButton("=");//定义”=“按钮
jbAdd.addActionListener(this);//接收器为自己
jbClear = new JButton("清除");//定义”清除“按钮
jbClear.addActionListener(this);
//把组件,添加到窗体
add(jtf1);
add(jl);
add(jtf2);
add(jbAdd);
add(jtf3);
add(jbClear);
// 窗体属性的设置
setLayout(new FlowLayout());//流式布局, 按添加顺序从左到右排列组件
setSize(380, 100);// 宽380,高100
setLocationRelativeTo(null);// 窗体放在显示器中间
setTitle("加法计算器");// 窗体的标题
setDefaultCloseOperation(EXIT_ON_CLOSE);// 点击窗体右上角的关闭按钮时,结束程序
setVisible(true);// 窗体可见
}
//重写actionPerformed方法,实现计算器功能
public void actionPerformed(ActionEvent e) {
JButton jbTemp= (JButton) e.getSource();//得到事件源
if(jbTemp==jbAdd) {//如果是jbAdd的事件.那么执行加法操作
//严谨些还需要判断输入字母等问题
int x = Integer.parseInt(jtf1.getText());//从文本框1得到字符串,并转化成数字
int y = Integer.parseInt(jtf2.getText());
jtf3.setText(x+y+"");//计算2个数的和,并显示在文本框3上
}else if(jbTemp==jbClear) {//如果事件源是 jbClear,那么清除文本框的文字
jtf1.setText("");
jtf2.setText("");
jtf3.setText("");
}
}
public static void main(String[] args) {
new AddFrame();//创建一个AddFrame的实例
}
}