这是学Java的一道练习题,要求:
1.每一次移动Scrollbar得到的Value取到数组值写入Text1,每二次移动Scrollbar得到的Value取到数组值写入Text2,问题是我每一次移动,程式自动写入同样的值到Text1,text2中,不知是何原因?
2.我点击Compare按钮比较时,发现每次程式也会写入相同的值到Text1,Text2中,所以每次比较都是相同的。初学Java,请那位高手帮小弟解决一下,在此多谢!100分相送。
我写的程式如下:import java.awt.*;
import java.awt.image.ImageObserver;
import java.applet.Applet;public class Task3 extends Applet {
Scrollbar redslider;
TextField text1;
TextField text2;
Label redlabel;
Button button; int CurClick = -1;
String word[]={"day","soon","tight","may","winter","soon","full","heat","moon","soon"};
String CurWord="";
int numClicks = 0;
public void init( ) {
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
setLayout(gridbag); //setLayout(new GridLayout(4, 2));
redslider = new Scrollbar(Scrollbar.VERTICAL, 0,1,0,9);
text1 = new TextField("Text Field 1", 5);
text2 = new TextField("Text Field 2", 5);
text1.setEditable(false);
text2.setEditable(false);
redlabel = new Label("Result of Comparison");
button=new Button("Compare");
c.gridwidth = 1; //reset to the default
c.gridheight = 4;
c.weighty = 4.0;
gridbag.setConstraints(redslider, c);
add(redslider);
c.weighty = 0.0; //reset to the default
c.gridwidth = GridBagConstraints.REMAINDER; //end row
c.gridheight = 1; //reset to the default
gridbag.setConstraints(text1, c);
add(text1);
gridbag.setConstraints(text2, c);
add(text2);
gridbag.setConstraints(redlabel, c);
add(redlabel);
gridbag.setConstraints(button, c);
add(button);
setSize(150, 100);
} public boolean handleEvent(Event e) {
if (e.target instanceof Scrollbar) {
CurClick=((Scrollbar)e.target).getValue();
CurWord=word[CurClick];
numClicks++;
if (numClicks%2==1) {
text1.setText(CurWord);
} else {
text2.setText(CurWord);
}
redlabel.setText(String.valueOf(numClicks));
//return true;
}
if (e.target instanceof Button) {
if (text1.getText().equals(text2.getText())) {
redlabel.setText("Same Words");
} else {
redlabel.setText("Different Words");
}
}
return super.handleEvent(e);
} }
1.每一次移动Scrollbar得到的Value取到数组值写入Text1,每二次移动Scrollbar得到的Value取到数组值写入Text2,问题是我每一次移动,程式自动写入同样的值到Text1,text2中,不知是何原因?
2.我点击Compare按钮比较时,发现每次程式也会写入相同的值到Text1,Text2中,所以每次比较都是相同的。初学Java,请那位高手帮小弟解决一下,在此多谢!100分相送。
我写的程式如下:import java.awt.*;
import java.awt.image.ImageObserver;
import java.applet.Applet;public class Task3 extends Applet {
Scrollbar redslider;
TextField text1;
TextField text2;
Label redlabel;
Button button; int CurClick = -1;
String word[]={"day","soon","tight","may","winter","soon","full","heat","moon","soon"};
String CurWord="";
int numClicks = 0;
public void init( ) {
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
setLayout(gridbag); //setLayout(new GridLayout(4, 2));
redslider = new Scrollbar(Scrollbar.VERTICAL, 0,1,0,9);
text1 = new TextField("Text Field 1", 5);
text2 = new TextField("Text Field 2", 5);
text1.setEditable(false);
text2.setEditable(false);
redlabel = new Label("Result of Comparison");
button=new Button("Compare");
c.gridwidth = 1; //reset to the default
c.gridheight = 4;
c.weighty = 4.0;
gridbag.setConstraints(redslider, c);
add(redslider);
c.weighty = 0.0; //reset to the default
c.gridwidth = GridBagConstraints.REMAINDER; //end row
c.gridheight = 1; //reset to the default
gridbag.setConstraints(text1, c);
add(text1);
gridbag.setConstraints(text2, c);
add(text2);
gridbag.setConstraints(redlabel, c);
add(redlabel);
gridbag.setConstraints(button, c);
add(button);
setSize(150, 100);
} public boolean handleEvent(Event e) {
if (e.target instanceof Scrollbar) {
CurClick=((Scrollbar)e.target).getValue();
CurWord=word[CurClick];
numClicks++;
if (numClicks%2==1) {
text1.setText(CurWord);
} else {
text2.setText(CurWord);
}
redlabel.setText(String.valueOf(numClicks));
//return true;
}
if (e.target instanceof Button) {
if (text1.getText().equals(text2.getText())) {
redlabel.setText("Same Words");
} else {
redlabel.setText("Different Words");
}
}
return super.handleEvent(e);
} }
// <applet code=Task3 width=500 height=250></applet>
import java.awt.*;
import java.awt.image.ImageObserver;
import java.applet.Applet;public class Task3 extends Applet {
Scrollbar redslider;
TextField text1;
TextField text2;
Label redlabel;
Button button;int CurClick = -1;
String word[]={"day","soon","tight","may","winter","soon","full","heat","moon","soon"};
String CurWord="";
int numClicks = 0;
public void init( ) {
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
setLayout(gridbag);//setLayout(new GridLayout(4, 2));
redslider = new Scrollbar(Scrollbar.VERTICAL, 0,1,0,9);
text1 = new TextField("Text Field 1", 5);
text2 = new TextField("Text Field 2", 5);
text1.setEditable(false);
text2.setEditable(false);
redlabel = new Label("Result of Comparison");
button=new Button("Compare");c.gridwidth = 1; //reset to the default
c.gridheight = 4;
c.weighty = 4.0;
gridbag.setConstraints(redslider, c);
add(redslider);
c.weighty = 0.0; //reset to the default
c.gridwidth = GridBagConstraints.REMAINDER; //end row
c.gridheight = 1; //reset to the default
gridbag.setConstraints(text1, c);
add(text1); gridbag.setConstraints(text2, c);
add(text2);gridbag.setConstraints(redlabel, c);
add(redlabel);gridbag.setConstraints(button, c);
add(button);setSize(150, 100);
} public boolean handleEvent(Event e) {
if (e.target == redslider && (e.id == Event.SCROLL_ABSOLUTE || e.id == Event.SCROLL_LINE_DOWN || e.id == Event.SCROLL_LINE_UP)) {
CurClick=((Scrollbar)e.target).getValue();
CurWord=word[CurClick];
numClicks ++;
if (numClicks%2 == 0)
{
text1.setText(CurWord); } else
{
text2.setText(CurWord);
}
redlabel.setText(String.valueOf(numClicks));
//button.requestFocus();
//return true;
}else if (e.target == button ){//&& e.id == Event.MOUSE_UP){
if (text1.getText().equals(text2.getText()))
{
redlabel.setText("Same Words");
} else
{
redlabel.setText("Different Words");
}
} return super.handleEvent(e);
} }