[JavaSwing] JButton的
内容
创建简单的JButton
创建行动的方式
Đặt保证金
JButton的 是一个对象,让我们同时单击将执行什么.

示例按钮 “计算” 下面, 当点击,将根据在输入的信息计算出的兴趣 JTextField的
例 1: 创建一个简单的JButton
package nguyenvanquan7826.JButton;
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.JLabel;
public class MyJButton extends JFrame {
private JLabel lb;
public MyJButton() {
// create JFrame
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 200);
setLayout(new GridLayout(2, 1, 5, 5));
// create JLabel
lb = new JLabel("My JLabel");
lb.setHorizontalAlignment(JLabel.CENTER);
add(lb);
// create JButton with text "Click Button"
JButton btn = new JButton("Click Button");
// add action
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
changeTextJLabel();
}
});
add(btn);
// display JFrame
setLocationRelativeTo(null);
setVisible(true);
}
// change text of lb
private void changeTextJLabel() {
lb.setText("You are clicked JButton");
}
public static void main(String[] args) {
new MyJButton();
}
}

一些注意事项
* 初始化的JButton: 我们有一些初始化方法的JButton
– JButton的() : 创建一个文字或图标按钮没有
– JButton的(行动) : 创建一个从所采取的行动属性的按钮
– JButton的(图标图标) : 创建一个按钮指定一个图标
– JButton的(文本字符串) : 创建一个指定的按钮文字
– JButton的(文本字符串, 图标图标) : 创建一个指定的文字和图标按钮
* 创建JButton的行动 我用的JButton addActionListener方法的方法来做到这一点. 然后,它可以创建新的 1 正确的ActionListener在上面的例子. 你只写 新动作 然后按下Ctrl + 空间 (从) NetBean或者Eclipse会告诉你的方法和接口的列表, 你选择 的ActionListener() 它会自动创建方法 的actionPerformed() 为你. 然后,我们调用方法 changeTextJLabel() 改变文本 的JLabel 当你点击的按钮. 请注意,因为我们创造新的权利addActionListener方法的ActionListener不应该受到的JLabel的setText直接调用. 如果你希望我们打电话直接调用通过类名: MyJButton.lb.setText(), 然而,我们很少做这种方式.
例 2: 该方法来创建和捕捉事件的JButton
package nguyenvanquan7826.JButton;
import java.awt.Color;
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.JLabel;
public class JButtonAction extends JFrame implements ActionListener {
private JButton btnGreen;
private JLabel lb;
public JButtonAction() {
// create JFrame
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200, 300);
setLayout(new GridLayout(3, 1, 5, 5));
// add JFrame content
lb = new JLabel("Background default");
lb.setOpaque(true);
add(lb);
btnGreen = createJButton("Green");
add(btnGreen);
add(createJButton("Blue"));
// display JFrame
setLocationRelativeTo(null);
setVisible(true);
}
// create JButton with text is title
private JButton createJButton(String title) {
JButton btn = new JButton(title);
// add action for JButton
btn.addActionListener(this);
return btn;
}
// change text and background of JLabel when click button
private void changeBackgroundJLabel(Color bgcolor, String nameBgcolor) {
lb.setBackground(bgcolor);
lb.setText("Background is " + nameBgcolor);
}
@Override
public void actionPerformed(ActionEvent e) {
// click button green
if (e.getSource() == btnGreen) {
changeBackgroundJLabel(Color.green, "Green");
}
// click button blue
if (e.getActionCommand() == "Blue") {
changeBackgroundJLabel(Color.blue, "Blue");
}
}
public static void main(String[] args) {
new JButtonAction();
}
}

在该示例 2 我们创建一个JLabel和 2 的JButton放置成与一个GriLayour 3 商品和 1 职位. 当你点击按钮 “绿色” 或 “蓝” 文本和背景改变的JLabel.
2 如何创建和在本实施例中捕获的事件是从前面的例子不同. 在这里,我们实现了ActionListener接口服务听音事件. 如果实现了这个接口,我们需要重写方法actionPerfomed() 它使听音事件. 由于这种方法是 1 ActionEvent的ê, 这是它听到该事件.
要知道到底是什么按钮被按下时,我们需要将它与按钮比较. 对于btnGreen, 这是 1 变量 “维基” 类,所以我们可以用比较 e.getSource() == BtnGreen 检查, 然而,与蓝色按钮,它不是,它是在createJButton产生的方法的JButton() 如果我们要测试它比较它的文本标签的命令 e.getActionCommand() == “蓝”.
你要注意方法createJButton() 它返回 1 JButton的. 通过这种方法创建的按钮应该是 addActionListener方法(此). 因为我们有这么实现了ActionListener接口的方法必须是 此 tức là tác động đến chính cái ActionListener đó do đó mà các button có thể nghe được sự kiện.
Đặt Magin cho JButton:
Nếu text của Jbutton hơi dài quá so với kích thước của nó, bạn có thể đặt khoảng cách giữa biên của button tới text bằng cách dùng phương thức:
setMargin(new Insets(int bottom, int left, int right, int top));
首席执行官: btn.setMargin(new Insets(0, 0, 0, 0)); text sẽ cách các biên là 0 (sát biên).
请参阅: Class JButton, Use Button



thanks bác nhé! bài viết rất hay
谢谢. 经常离线访问博客. 😀
一个Nguyenvanquan7826, Ë新入手的JFrame在NetBeans, e中创建 1 登录表单,并 1 形成该程序的主接口, A至E问的是如何登录按钮点击登录表单,登录表单将被隐藏,并提出了主界面总是, THK一个
假设接口是大型机.
当按下登录按钮,然后执行命令
新的大型机
和帧登录setVisibale FALE.
我有 2 frame. Main với login. Muốn mỗi lần login thì frame login sẽ trả về cho frame main một giá trị boolean .thành công sẽ trả về true. Giúp e với admin. Đang bị cấn. Email e: sonitiuh@gmail.com.
你是程序员
比较. 不管你?
在断层线的第一个例子宠儿 25 RuntimeException的.
EM错先生. 我重拍失踪 :)))
NẾU MÌNH MUỐN 1 LÚC CÓ 3 button chứ ko phải từng cái riêng biệt thì phải ntn ạ.do e vừa học java cơ bản mà cách code nó khác với cách của a
Thì bạn cứ tạo 3 button rồi bắt sự kiện cho nó thôi. 🙂 Bên trên mình hướng dẫn rùi.