|
|
import static javax.swing.JScrollBar.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Pro23601
{
public static void main(String[] args)
{
new CrossHairs();
}
}
class CrossHairs extends JFrame
{
private BorderLayout interiorDesigner;
private JScrollBar hotizonalScroll, verticalScroll;
private int x, y;
private Image offscreen;
public CrossHairs()
{
//Sets Vars
x = 150;
y = 150;
interiorDesigner = new BorderLayout();
setLayout(interiorDesigner);
{
hotizonalScroll = new JScrollBar(HORIZONTAL, 150, 25, 0, 365);
hotizonalScroll.addAdjustmentListener(new Bars());
hotizonalScroll.setValue(150);
add(hotizonalScroll, BorderLayout.SOUTH);
verticalScroll = new JScrollBar(VERTICAL, 150, 25, 0, 325);
verticalScroll.addAdjustmentListener(new Bars());
verticalScroll.setValue(150);
add(verticalScroll, BorderLayout.EAST);
}
setSize(400,400);
setTitle(getClass().getName());
setLocationRelativeTo(null);
setResizable(false);
setDefaultCloseOperation(3);
setVisible(true);
}
public void update(Graphics g)
{
offscreen = createImage(getSize().width, getSize().height);
Graphics og = offscreen.getGraphics();
paint(og);
og.dispose();
g.drawImage(offscreen, 0, 0, this);
}
public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D)g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.clearRect(0,0,getWidth(),getHeight());
g2d.setColor(new Color(233, 90, 90));
g2d.fillRect(x ,y + 30, 60 ,40 ); //Shadded Box
g2d.setColor(Color.red);
g2d.drawLine(x + 30,0 ,x + 30 ,390 );//Lines
g2d.drawLine(0 ,y + 50 ,390 ,y + 50);
g2d.fillOval(x + 25 ,y + 45 ,10 ,10);//Circle
g2d.drawRect(x ,y + 30, 60 ,40 );//Outline
hotizonalScroll.repaint();
verticalScroll.repaint();
}
class Bars implements AdjustmentListener
{
public void adjustmentValueChanged(AdjustmentEvent move)
{
if(move.getSource() == hotizonalScroll)
x = move.getValue();
else
if(move.getSource() == verticalScroll)
y = move.getValue();
repaint();
}
}
}
|