编写程序,显示不同的表情。在窗口上至少包括4个按钮,分别控制显示不同的表情和退出程序。示例输出如下图所示。
package priv.lhw.show.expression;
import javax.swing.*;
public class Main {
public static void main(String[] args) {
// write your code here
MyFrame myFrame = new MyFrame();
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setVisible(true);
}
}
package priv.lhw.show.expression;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MyFrame extends JFrame {
public static final int WIDTH = 400;
public static final int HEIGHT = 400;
public ImageIcon smileImage = new ImageIcon("src/priv/lhw/show/expression/smile.png");
public ImageIcon cryImage = new ImageIcon("src/priv/lhw/show/expression/cry.png");
public ImageIcon angryImage = new ImageIcon("src/priv/lhw/show/expression/angry.png");
public MyFrame(){
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension dimension = toolkit.getScreenSize();
int screenHeight = dimension.height;
int screenWidth = dimension.width;
setSize(WIDTH, HEIGHT);
int locX = (screenWidth - getWidth()) / 2;
int locY = (screenHeight - getHeight()) / 2;
setLocation(locX, locY);
setTitle("显示表情");
JLabel expression = new JLabel();
expression.setIcon(smileImage);
add(expression);
JPanel buttonPanel = new JPanel();
JButton cry = new JButton("流泪");
buttonPanel.add(cry);
JButton smile = new JButton("微笑");
buttonPanel.add(smile);
JButton angry = new JButton("生气");
buttonPanel.add(angry);
JButton quit = new JButton("退出");
buttonPanel.add(quit);
cry.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
expression.setIcon(cryImage);
}
});
smile.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
expression.setIcon(smileImage);
}
});
angry.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
expression.setIcon(angryImage);
}
});
quit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
add(buttonPanel, "South");
}
}