for (int i = 0; i < 10; i++) {
BTN[i] = new JButton("" + i);
BTN[i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textField.setText(""+i); //这里会出错的
}
}); }addActionListener中如何使用变量i?请直接贴代码...有代码+解释更好.3q
BTN[i] = new JButton("" + i);
BTN[i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textField.setText(""+i); //这里会出错的
}
}); }addActionListener中如何使用变量i?请直接贴代码...有代码+解释更好.3q
还有。,楼主的问题很抽象吖,那个textField有没有声明的吖?
BTN[i] =new JButton(""+i);
BTN[i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
for(int j=0;j<10;j++)
textField.setText(""+j); //这里会出错的
}
}); }
我需要的是按BTN1就输出1..BTN9才输出9
final int i;不行啊...还是会出错的..访问有问题.
public void setText(String t)将此文本组件显示的文本设置为指定文本。
你的变量i是整型数,可能要转化吧!
for (int i = 0; i < 10; i++) {
final buttonIndex = i;
BTN[buttonIndex] = new JButton("" + buttonIndex);
BTN[buttonIndex].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textField.setText(""+buttonIndex);
}
});
}
import java.awt.event.*;
import javax.swing.*;public class jFrameTest extends JFrame
{
private JButton[] BTN=new JButton[10];
private JTextField textField=new JTextField(10);
public jFrameTest()
{
super.setSize(400,300);
Container c=getContentPane();
c.setLayout(new FlowLayout());
for (int i = 0; i < 10; i++) {
BTN[i] = new JButton(""+i);
BTN[i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
for(int i=0;i<=10;i++)
{
textField.setText(" a");
}
}
}); }
for(int i=0;i<10;i++)
c.add(BTN[i]);
c.add(textField);
super.setVisible(true);
}
public static void main(String args[])
{
jFrameTest test=new jFrameTest();
test.setDefaultCloseOperation(EXIT_ON_CLOSE);
}}
import java.awt.event.*;
import javax.swing.*;public class jFrameTest extends JFrame
{
private JButton[] BTN=new JButton[10];
private JTextField textField=new JTextField(10);
private int k=0;
public jFrameTest()
{
super.setSize(400,300);
Container c=getContentPane();
c.setLayout(new FlowLayout());
for (int i = 0; i < 10; i++) {
BTN[i] = new JButton(""+i);
BTN[i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textField.setText("this is butten: "+(k++));
}
}); }
for(int j=0;j<10;j++)
c.add(BTN[j]);
c.add(textField);
super.setVisible(true);
}
public static void main(String args[])
{
jFrameTest test=new jFrameTest();
test.setDefaultCloseOperation(EXIT_ON_CLOSE);
}}
/*你试试这个吧!但是里面有些漏洞!我也想不出什么好的办法!想起来我再发给你*/