[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.