string-java 怎么给按钮设置索引?

问题描述

java 怎么给按钮设置索引?

我想给按钮4和按钮5添加鼠标单击事件,但是我不知道怎么加,求大神给个方法
import java.awt.*;
import javax.swing.*;
public class yt extends JFrame{
static int t;
public static JButton an;

public static void main(String[] args) {
    JFrame j=new JFrame();
    Container c=j.getContentPane();
    JPanel j1=new JPanel();
    j1.setLayout(new FlowLayout(1,10,10));
    for(t=0;t<10;t++){
         an=new JButton("按钮"+t);
         j1.add(an);
    }

    c.add(j1);

    j.setVisible(true);
    j.setSize(400,300);
    j.setDefaultCloseOperation(EXIT_ON_CLOSE);

}

}

解决方案

public class yt extends JFrame {
public static void main(String[] args) {
anniu();
}

public static void anniu() {
    JFrame j = new JFrame();
    Container c = j.getContentPane();
    JPanel j1 = new JPanel();
    j1.setLayout(new FlowLayout(1, 10, 10));
    for (int t = 0; t < 10; t++) {
        final JButton an = new JButton("按钮" + t);
        j1.add(an);
        an.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println(an.getText());
                if ("按钮4".equals(an.getText())) {
                    System.out.println("按钮4");
                } else if ("按钮5".equals(an.getText())) {
                    System.out.println("按钮5");
                }
            }
        });
    }

    c.add(j1);
    j.setVisible(true);
    j.setSize(400, 300);
    j.setDefaultCloseOperation(EXIT_ON_CLOSE);
}

}

你在对象an上添加监听事件就一直会监听按钮9,因为你的对象for循环里面每次都重新给了个地址,所以an的地址其实就是按钮9的地址,改成这样就可以了。

解决方案二:

 for(t=0;t<10;t++){
         Button tempb=new JButton("按钮"+t);
                if(t==4){
                    tempb.addActionListener(...);
                }
                    if(t==5){
                    tempb.addActionListener(...);
                }
         j1.add(tempb);
    }

解决方案三:

ArrayList<Button> buttons=new ArrayList<Button>();
  for(t=0;t<10;t++){
         Button tempb=new JButton("按钮"+t);
                buttons.add(tempb);
         j1.add(buttons.get(t));
    }
        buttons.get(4).addActionListener(...);

解决方案四:

添加一个actionlistener,,事件监听就行了,,

解决方案五:

设置按钮属性,查文档找属性

时间: 2024-12-01 13:18:45

string-java 怎么给按钮设置索引?的相关文章

java 图形化 怎样设置每一个JTabbedPane的内容

问题描述 java 图形化 怎样设置每一个JTabbedPane的内容 对java swing这块实在不熟悉.开发需要,不得不实现一下 已有代码如下,需要在JTabblePane中实现一个柱状图: package swingTest; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.b

java swing 布局,设置jpanel大小,位置

问题描述 java swing 布局,设置jpanel大小,位置 jpanel.setsize...这个为什么不生效?总是布满整个窗口,我只想一小块在中间. 注意:这个方法如果不行,有别的方法吗? 绝对布局除外 解决方案 JFrame你设置Layout了吗? 如果没设置的话,JFrame的布局管理器默认是BorderLayout,添加的组件如果不指明位置默认添加进BorderLayout.CENTER. 它会向上下左右扩展,占满整个空间. 解决方案二: public class GridBagL

Java点击按钮后弹出新窗口,关闭新窗口后如何返回到原来的窗口?

问题描述 Java点击按钮后弹出新窗口,关闭新窗口后如何返回到原来的窗口? 如题,现在设计一个界面,里面有一个按钮,增加ActionListener事件,点击按钮后弹出一个新的窗口,里面有更详细的信息.现在将新窗口关闭,想返回到原来的旧窗口.菜鸟一枚,请前辈指点迷津... 解决方案 import javax.swing.*; import java.awt.Rectangle; import java.awt.event.*; public class Swing7 extends JFrame

java 按钮监听器-java 点一下按钮就能画一个图形,怎么弄呢

问题描述 java 点一下按钮就能画一个图形,怎么弄呢 import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import javax.swing.*;public class huatu { static public void main(String[] args) { new test(); }}class test extends JFrame { JButton

Grails1.1和Groovy1.6的Java虚拟机的内存设置和调整

在这篇文章中,我希望回答下列问题: .Grails1.1和Groovy1.6的Java虚拟机的内存设置和调整隐藏在哪里,以及我们如何来改变它们? .最新的版本和旧的版本之间有什么不同? .以上这些设置和调整在windows和linux之间的不同需要我们掌握吗? Grails1.1和Grails1.0.2的Java虚拟机的内存设置 如果你运行grails命令,在linux/unix平台,它是执行"$GRAILS_HOME/bin/startGrails"命令:而在windows平台,是执

为按钮设置图标(VC)

// 首先得到按钮句柄 CButton *pBunH; pBunH = (CButton*)GetDlgItem( IDC_BUTTON2); // 接下来得到图标句柄 HICON hBtnIcon; // 方法1 //hBtnIcon = AfxGetApp()->LoadIconW( IDI_ICON3); // 方法2 //hBtnIcon = LoadIconW( AfxGetApp()->m_hInstance, (LPCWSTR)IDI_ICON3); // 方法3 hBtnIco

如何使用TP-link QSS按钮设置扩展器

  使用TP-link QSS按钮设置扩展器的使用方法 1.找到路由器和扩展器上的QSS按钮位置 2.按一下路由器上的QSS按钮 3.按一下扩展器上的QSS按钮 至此,扩展操作设置完成,我们下来确认扩展成功. 使用TP-link QSS按钮设置扩展器确认信号扩展成功的方法 尝试观察扩展器的指示灯,如果是绿色或橙色,则表示扩展成功,如下. 温馨提示:橙色表示扩展器离主路由器太近或太远,可以适当调整位置. 此时,扩展器的默认信号消失,已经变成和主路由器一样的信号,无线名称和密码均相同.您的手机连接上

java 文本域 字符串 设置颜色

问题描述 java 文本域 字符串 设置颜色 java里面的JTextArea文本域里 设置某个字符串的颜色? 如何 解决方案 设置颜色多变的文本(转载)设置编辑框控件的背景.文本颜色 解决方案二: 你会更改java文本域的字体大小吗? 同样也可以同样的操作设置颜色 解决方案三: 用JEditorPane或者JTextPane

matlab gui语音信号处理降噪处理的按钮设置

问题描述 matlab gui语音信号处理降噪处理的按钮设置 怎么设置按钮实现调用算法功能,就是能够对语音信号进行降噪处理的功能