编写一个程序,具有下图所示的界面: 界面里有一个文本框和一个标签,有"Bird", "Cat", "Dog","Rabbit", "Pig"5张图,文本框中输入某一种动物的名称并按回车后,在标签上显示对应动物的图像。如果无对应的动物,则在标签上显示“Image not found”。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Main extends JFrame {
private JTextField text = new JTextField(20);
private JLabel label = new JLabel();
private JLabel label6 = new JLabel("Image not found");
private ImageIcon Bird = new ImageIcon("D:\\pic\\Bird.gif");
private ImageIcon Cat = new ImageIcon("D:\\pic\\Cat.gif");
private ImageIcon Dog = new ImageIcon("D:\\pic\\Dog.gif");
private ImageIcon Pig = new ImageIcon("D:\\pic\\Pig.gif");
private ImageIcon Rabbit = new ImageIcon("D:\\pic\\Rabbit.gif");
private JLabel label1 = new JLabel("Bird",Bird,SwingConstants.CENTER);
private JLabel label2 = new JLabel("Cat",Cat,SwingConstants.CENTER);
private JLabel label3 = new JLabel("Dog",Dog,SwingConstants.CENTER);
private JLabel label4 = new JLabel("Pig",Pig,SwingConstants.CENTER);
private JLabel label5 = new JLabel("Bird",Bird,SwingConstants.CENTER);
public static void main(String[] args){
new Main().launch();
}
public void launch(){
JFrame frame = new Main ();
setSize(400,400);
setTitle("TextFiledDemo");
setLocation(500,500);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(text,BorderLayout.NORTH);
add(label,BorderLayout.CENTER);
// pack();
text.addActionListener(new TextListener() );
setVisible(true);
}
private class TextListener implements ActionListener {
public void actionPerformed(ActionEvent e){
String str = text.getText().trim();
System.out.println(str);
text.setText("");
if (str.equals("Bird")){
add(label1,BorderLayout.CENTER);
repaint();
}
else if (str.equals("Cat")){
add(label2,BorderLayout.CENTER);repaint();
}
else if (str.equals("Dog")){
add(label3,BorderLayout.CENTER);repaint();
System.out.println("zzzz ");
}
else if (str.equals("Pig")){
add(label4,BorderLayout.CENTER);repaint();
}
else if (str.equals("Rabbit")){
add(label5,BorderLayout.CENTER);repaint();
}
else {
add(label6,BorderLayout.CENTER);repaint();
}
}
}
}