📄 moveboxinnercanvas.java
字号:
import java.awt.Graphics;
import java.awt.event.*;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.net.*;
import javax.swing.*;
import javax.swing.border.*;
public class MoveBoxInnerCanvas extends JApplet implements ActionListener
{
private final int BOX_WIDTH = 200;
private final int BOX_HEIGHT = 100;
private final int INC = 4;
private final Color COLOR = Color.blue;
private JButton left = new JButton("Left");
private JButton right = new JButton("Right");
private JButton up = new JButton("Up");
private JButton down = new JButton("Down");
private int x = 50, y = 50;
private class MoveBoxCanvas extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(COLOR);
g.fillRect(x, y, BOX_WIDTH, BOX_HEIGHT);
g.setColor(Color.black);
g.drawRect(0, 0, getSize().width - 1, getSize().height);
}
}
private MoveBoxCanvas drawing = new MoveBoxCanvas();
public void init()
{
JPanel buttons = new JPanel(new FlowLayout());
buttons.add(up);
up.addActionListener(this);
buttons.add(down);
down.addActionListener(this);
buttons.add(left);
left.addActionListener(this);
buttons.add(right);
right.addActionListener(this);
drawing.setBorder(new TitledBorder("The Box Playground"));
buttons.setBorder(new TitledBorder("Move the Box"));
try
{
URL base = getCodeBase();
up.setIcon(new ImageIcon(new URL(base, "up.gif")));
down.setIcon(new ImageIcon(new URL(base, "down.gif")));
left.setIcon(new ImageIcon(new URL(base, "left.gif")));
right.setIcon(new ImageIcon(new URL(base, "right.gif")));
up.setToolTipText("Box up");
down.setToolTipText("Box down");
left.setToolTipText("Box left");
right.setToolTipText("Box right");
}
catch (MalformedURLException murle)
{
System.err.println("Error");
}
getContentPane().setLayout(new BorderLayout());
getContentPane().add("South", buttons);
getContentPane().add("Center", drawing);
setSize(700, 300);
}
public void actionPerformed(ActionEvent ae)
{
if (ae.getSource() == up)
y -= INC;
else if (ae.getSource() == down)
y += INC;
else if (ae.getSource() == left)
x -= INC;
else if (ae.getSource() == right)
x += INC;
drawing.repaint();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -