Java,如何添加一组按钮?并给每个按钮添加监听器?急求
4个回答
展开全部
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class AddButtons extends JFrame implements ActionListener {
private static final long serialVersionUID = 5322709709362727424L;
private JButton[] jb = new JButton[20];
public AddButtons() {
super("添加多个按钮!");
this.setLayout(new FlowLayout());
this.setSize(800, 600);
this.setBounds(10, 10, 800, 600);
for (int i = 0; i < jb.length; i++) {
jb[i] = new JButton("按钮" + i);
jb[i].addActionListener(this);
this.add(jb[i]);
}
this.setVisible(true);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
}
public static void main(String[] args) {
new AddButtons();
}
@Override
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < jb.length; i++) {
if (e.getSource().equals(jb[i])) {
System.out.println(i);
}
}
}
}
展开全部
public class Test1 extends JFrame implements ActionListener{
JPanel panel=new JPanel();
JButton b1=new JButton("第一");
JButton b2=new JButton("第二");
JButton b3=new JButton("第三");
public Test1(){
this.setLayout(new FlowLayout());
panel.add(b1);panel.add(b2);panel.add(b3);
this.add(panel);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
}
public static void main(String[] args) {
Test1 test1=new Test1();
test1.setSize(300,300);
test1.setLocationRelativeTo(null);
test1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
test1.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource()==b1) {
JOptionPane.showMessageDialog(null, "点击第一个按钮");
}else if(e.getSource()==b2){
JOptionPane.showMessageDialog(null, "点击第二个按钮");
}else if (e.getSource()==b3) {
JOptionPane.showMessageDialog(null, "点击第三个按钮");
}
}
}
给个小例子给你看看,或许对你有用
追问
单个添加我知道。我想问如何一次添加一组。比如说一次添加二三十个。会用按钮组创建一组按钮但是不知道怎么添加事件监听器。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把按钮对象放入数组 遍历添加监听器
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
进口java.awt.event.ActionEvent的进口java.awt.FlowLayout;
导入java.awt.event.ActionListener;
进口javax.swing.JButton; />进口;
javax.swing.JTextField的进口;
“公共类ShowButton实现的ActionListener {
私人JTextField的文本字段= NULL;
私人JButton的按钮= NULL;
私人JFrame的帧= NULL;
:公共showButton(){
帧=新的JFrame(“显示”按钮文本“);
按钮=新JButton的(“3”);,
文本字段=新的JTextField(“”,20);
frame.setLayout(新的FlowLayout(FlowLayout.CENTER));
帧。添加(文本字段);
(这)button.addActionListener中;
frame.add(按钮);
frame.setResizable(假)
frame.setSize(400,100);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE),的;
frame.setVisible(真);
}
公共无效的actionPerformed(ActionEvent的E){
(“)textField.setText;
textField.setText(button.getActionCommand:());
System.out.println(button.getActionCommand()+”===“);
}
公共静态无效的主要(字串[]参数){
:新ShowButton();
}
}
导入java.awt.event.ActionListener;
进口javax.swing.JButton; />进口;
javax.swing.JTextField的进口;
“公共类ShowButton实现的ActionListener {
私人JTextField的文本字段= NULL;
私人JButton的按钮= NULL;
私人JFrame的帧= NULL;
:公共showButton(){
帧=新的JFrame(“显示”按钮文本“);
按钮=新JButton的(“3”);,
文本字段=新的JTextField(“”,20);
frame.setLayout(新的FlowLayout(FlowLayout.CENTER));
帧。添加(文本字段);
(这)button.addActionListener中;
frame.add(按钮);
frame.setResizable(假)
frame.setSize(400,100);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE),的;
frame.setVisible(真);
}
公共无效的actionPerformed(ActionEvent的E){
(“)textField.setText;
textField.setText(button.getActionCommand:());
System.out.println(button.getActionCommand()+”===“);
}
公共静态无效的主要(字串[]参数){
:新ShowButton();
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询