Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package luna.sexydesign;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- class Subthread extends Thread {
- private MyPanel2 p2;
- public Subthread(MyPanel2 p2) {
- this.p2 = p2;
- }
- @Override
- public void run() {// TODO Auto-generated constructor stub
- try {
- sleep(2000);
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- // SwingUtilities.invokeLater(() ->
- p2.setPanel3();
- }
- }
- public class ScreenToucher extends JFrame {
- int i = 0;
- static int width = 500;
- static int height = 500;
- private MyPanel1 p1;
- public static void main(String args[]) {
- ScreenToucher frame = new ScreenToucher("Screen Toucher");
- frame.setVisible(true);
- }
- ScreenToucher(String title) {
- setTitle(title);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, width, height);
- p1 = new MyPanel1();
- MyPanel2 p2 = new MyPanel2(this);
- Subthread thread = new Subthread(p2);
- thread.start();
- add(p1, BorderLayout.NORTH);
- add(p2, BorderLayout.CENTER);
- }
- public void setCount(int count) {
- p1.setCount(count);
- }
- }
- class MyPanel1 extends JPanel {
- int i;
- private JLabel jl1;
- MyPanel1() {
- JPanel jp1 = new JPanel();
- jl1 = new JLabel();
- jp1.setBackground(Color.green);
- Integer j = new Integer(i);
- String text = j.toString();
- jl1.setText(text);
- jp1.add(jl1);
- add(jp1);
- }
- public void setCount(int count) {
- jl1.setText(Integer.toString(count));
- }
- }
- class MyPanel2 extends JPanel {
- static int width = 500;
- static int height = 500;
- static int i = 0;
- static int r = 60;
- static int x;
- static int y;
- final static Color bc = Color.black;
- final static Color dc = Color.green;
- private ScreenToucher owner;
- public MyPanel2(ScreenToucher owner) {
- setBackground(Color.black);
- this.owner = owner;
- MouseListener();
- repaint();
- }
- void MouseListener() {
- addMouseListener(new MouseAdapter() {
- public void mousePressed(MouseEvent e) {
- double mouseX = e.getX();
- double mouseY = e.getY();
- if (mouseX > x && mouseX < x + 2 * r) {
- if (mouseY > y && mouseY < y + 2 * r) {
- repaint();
- owner.setCount(Count());
- }
- }
- }
- });
- }
- protected void paintComponent(Graphics g) {
- super.paintComponent(g);
- x = (int) (Math.random() * width);
- y = (int) (Math.random() * height) + 30;
- if ((x < width - 2 * r) && (y < height - 2 * r)) {
- g.setColor(dc);
- g.fillOval(x, y, r, r);
- } else {
- repaint();
- }
- }
- int Count() {
- i += 100;
- return i;
- }
- public void setPanel3(){
- MyPanel3 p3 = new MyPanel3();
- add(p3);
- }
- }
- class MyPanel3 extends JPanel {
- public MyPanel3() {
- setBackground(new Color(0,0,0,100));
- }
- public void paintComponent(Graphics g) {
- super.paintComponent(g);
- g.setColor(Color.white);
- g.drawString("GAME OVER", 100, 200);
- }
- }
Add Comment
Please, Sign In to add comment