import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class JfvStudy extends JApplet {
//定义界面元素
JButton
b1=new JButton("请输入一个数点击确认");
//for( i=0;i<10;i++)JButton b[i]=new JButton();
JTextField t = new JTextField(20);
static int i=0;
//static String str="";
public void init() {
//重写init方法init() 小程序第一次被创建,初次运行初始化小程序时调用
Container cp = getContentPane();//定义布局
cp.setLayout(new FlowLayout());
ActionListener a = new ActionListener(){
@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent e){
String s=t.getText();
if(i==0){
i++;
b1.setText("此时i=0");
t.setText("0");
};
if(i==1){
i++;
b1.setText("此时i=1");
t.setText("1");
};
if(i==2){
i=0;
b1.setText("此时i=2");
t.setText("2");
};
}
};
//{//定义事件响应
//int i=0;
// for( i=0;i<16;i++){
cp.add(t);
cp.add(b1);
b1.addActionListener(a);
}
}
这一段程序并不能够正确的按i=0,1,2循环运行,这是为什么?请大家来帮忙解决!谢谢!
JAVA中的事件中,能不能用if语句让一个事件可能有多个响应?如以下程序:
答案:2 悬赏:30
解决时间 2021-02-22 10:38
- 提问者网友:低唤何为爱
- 2021-02-21 10:46
最佳答案
- 二级知识专家网友:佛说妍妍很渣
- 2021-02-21 11:34
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class JfvStudy extends JApplet {
//定义界面元素
JButton
b1=new JButton("请输入一个数点击确认");
//for( i=0;i<10;i++)JButton b[i]=new JButton();
JTextField t = new JTextField(20);
static int i=0;
//static String str="";
public void init() {
//重写init方法init() 小程序第一次被创建,初次运行初始化小程序时调用
Container cp = getContentPane();//定义布局
cp.setLayout(new FlowLayout());
ActionListener a = new ActionListener(){
@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent e){
String s=t.getText();
if(i==0){
i++;
b1.setText("此时i=0");
t.setText("0");
};
if(i==1){
i++;
b1.setText("此时i=1");
t.setText("1");
};
if(i==2){
i=0;
b1.setText("此时i=2");
t.setText("2");
};
}
};
//{//定义事件响应
//int i=0;
// for( i=0;i<16;i++){
cp.add(t);
cp.add(b1);
b1.addActionListener(a);
}
}
import java.awt.*;
import java.awt.event.*;
public class JfvStudy extends JApplet {
//定义界面元素
JButton
b1=new JButton("请输入一个数点击确认");
//for( i=0;i<10;i++)JButton b[i]=new JButton();
JTextField t = new JTextField(20);
static int i=0;
//static String str="";
public void init() {
//重写init方法init() 小程序第一次被创建,初次运行初始化小程序时调用
Container cp = getContentPane();//定义布局
cp.setLayout(new FlowLayout());
ActionListener a = new ActionListener(){
@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent e){
String s=t.getText();
if(i==0){
i++;
b1.setText("此时i=0");
t.setText("0");
};
if(i==1){
i++;
b1.setText("此时i=1");
t.setText("1");
};
if(i==2){
i=0;
b1.setText("此时i=2");
t.setText("2");
};
}
};
//{//定义事件响应
//int i=0;
// for( i=0;i<16;i++){
cp.add(t);
cp.add(b1);
b1.addActionListener(a);
}
}
全部回答
- 1楼网友:冷态度
- 2021-02-21 12:18
你的语句中三个if是顺序执行的,运行结果就是最后一个if的结果。
修改方法是用if...else if...else if结构
代码如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class JfvStudy extends JApplet {
//定义界面元素
JButton
b1=new JButton("请输入一个数点击确认");
//for( i=0;i<10;i++)JButton b[i]=new JButton();
JTextField t = new JTextField(20);
static int i=0;
//static String str="";
public void init() {
//重写init方法init() 小程序第一次被创建,初次运行初始化小程序时调用
Container cp = getContentPane();//定义布局
cp.setLayout(new FlowLayout());
ActionListener a = new ActionListener(){
//@SuppressWarnings("deprecation") //屏蔽了我不支持的属性
public void actionPerformed(ActionEvent e){
String s=t.getText();
if(i==0){
i++;
b1.setText("此时i=0");
t.setText("0");
}
else if(i==1){ //修改处一
i++;
b1.setText("此时i=1");
t.setText("1");
}
else if(i==2){ //修改处一
i=0;
b1.setText("此时i=2");
t.setText("2");
};
}
};
//{//定义事件响应
//int i=0;
// for( i=0;i<16;i++){
cp.add(t);
cp.add(b1);
b1.addActionListener(a);
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |