import java.awt.EventQueue;
import java.awt.Label;
import java.awt.Point;
import java.awt.Window;
import java.awt.event.KeyAdapter;
import javax.sound.sampled.LineUnavailableException;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.JTextArea;
import java.awt.event.KeyEvent;
import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class frameBackground {
private JFrame frame;
private JTextField textField;
private JLabel label_1;
private JButton btnNewButton;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
frameBackground window = new frameBackground();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public frameBackground() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
frame.setResizable(false);
frame.getContentPane().setLayout(null);
frame.setTitle("镜头模拟");
label_1=new JLabel();
ImageIcon icon=new ImageIcon(getClass().getResource("2.jpg"));//背景
ImageIcon glassimg=new ImageIcon(getClass().getResource("1.png"));//镜头
label_1.setIcon(icon);
label_1.setSize(icon.getIconWidth(), icon.getIconHeight());
label_1.setLocation(-icon.getIconWidth()/3, -icon.getIconHeight()/3);
frame.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
KeyAction(e);
}
});
frame.getContentPane().add(label_1);
// btnNewButton = new JButton("game");
// btnNewButton.addMouseListener(new MouseAdapter() {
// @Override
// public void mouseClicked(MouseEvent e) {
//
//
// }
// });
// btnNewButton.setBounds(333, 239, 101, 32);
// frame.getContentPane().add(btnNewButton);
// btnNewButton.setBackground(Color.RED);
JLabel glassLable=new JLabel(glassimg);
JPanel glasspane=new JPanel(new BorderLayout());
glasspane.add(glassLable, BorderLayout.CENTER);
glasspane.setOpaque(false);
frame.setGlassPane(glasspane);
frame.getGlassPane().setVisible(true);
}
public void KeyAction(final KeyEvent e)
{
int code=e.getKeyCode();
Point location=label_1.getLocation();
int step=3;
switch(code)
{
case KeyEvent.VK_RIGHT:
if(location.x>(frame.getWidth()-label_1.getWidth()))
{
label_1.setLocation(location.x-step, location.y);
System.out.println("right");
}
break;
case KeyEvent.VK_LEFT:
if(location.x<0)
label_1.setLocation(location.x+step, location.y);
break;
case KeyEvent.VK_DOWN:
if(location.y>(frame.getHeight()-label_1.getHeight()))
label_1.setLocation(location.x, location.y-step);
break;
case KeyEvent.VK_UP:
if(location.y<0)
{
label_1.setLocation(location.x, location.y+step);
}
break;
default:break;
}
}
}