ユーザー入力の取得を設定し、入力と入力に関連付けられた画像を表示する必要がある割り当てがあります。私は自分のコードで立ち往生しており、どこに問題があるのか わかりません。私が抱えている主な問題は、 tf1.getText() == st1.getInfo() 値を取得することだと思います。
また、画像が正しいフォルダにあり、ラベルが正しいことを確認しました。
非常に多くのコードを投稿する必要があり、申し訳ありません。助けてくれてありがとう。
コード:
MyJpanel1
public class MyJPanel1 extends JPanel implements ChangeListener, ActionListener
{
JTextField tf1,tf2;
JSlider js1;
JLabel lab6;
JTextField message;
JButton ok;
myJPanel2 p2;
int count2;
public MyJPanel1(MyJPanel2 informedp2)
{
p2 = informedp2;
setLayout(new GridLayout(7,1));
lab6 = new JLabel("Enter Student Name");
add(lab6,"North");
tf1 = new JTextField(10);
add(tf1);
tf2 = new JTextField(15);
add(tf2);
message = new JTextField("",50);
js1 = new JSlider(JSlider.HORIZONTAL,0,50,20);
js1.setBorder(BorderFactory.createTitledBorder("Use Slider to Enter Age"));
js1.setMajorTickSpacing(1);
js1.setPaintTicks(true);
add(js1);
add(message);
js1.addChangeListener(this);
ok = new JButton("Ok");
ok.addActionListener(this);
add(ok);
}
public void stateChanged(ChangeEvent e)
{
JSlider obj = (JSlider)e.getSource();
int count = obj.getValue();
if(obj == js1)
{
message.setText("Age =" + count);
}
count2 = count;
}
public void actionPerformed(ActionEvent event)
{
Object obj = event.getSource();
String result = p2.st1.getInfo(); // value stored should be "Fred"
if (obj == ok)
{
p2.j2.setText("Student Name = " + tf1.getText()+" " + tf2.getText()+ " "+ "Age = " + count2);
if (result ==tf1.getText()) // tf1.getText() value should be "Fred" which should then display the image.
{
p2.j3.setIcon(p2.imageFred);
}
}
}
}
MyJPanel2
public class myJPanel2 extends JPanel
{
student st1 = new student("Fred"); // "Fred" value should be the st1.getInfo() value
JButton j2 = new JButton("the user clicks on the button in the UPPER panel" );
JButton j3 = new JButton("Pic");
ImageIcon imageFred = new ImageIcon("images/fred.gif");
public myJPanel2()
{
super();
setBackground(Color.pink);
setLayout(new GridLayout(3,1));
add(j2);
add(j3);
}
}
学生:
public class student
{
String firstName;
String lastName;
int age;
public student(String a)// String b, int x)
{
super();
firstName = a;
//lastName = b;
//age = x;
}
String getInfo()
{
return firstName; // This value should return "Fred" since st1 = new student("Fred")correct?
}
String whatsUp()
{
double r = Math.random();
int myNumber = (int) (r * 3f); //comment: a random number between 0 and 2
String answer = "I don't know";
if(myNumber == 0) answer = "searching the web";
if(myNumber == 1) answer = "doing Java";
if(myNumber == 2) answer = "Listening to endless lecture";
return answer;
}
}