PS:系统自带代码块已删除,请注意!
DrawJFrame
package com.derun;
public class DrawJFrame extends javax.swing.JFrame {
public DrawJFrame() {
initComponents();
this.setTitle("多线程窗体");
this.setLocationRelativeTo(null);
}
@SuppressWarnings("unchecked")
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new DrawJFrame().setVisible(true);
}
});
}
private final LeftHand leftHand = new LeftHand();
// Variables declaration - do not modify
private javax.swing.JPanel LeftHand;
private javax.swing.JPanel RightHand;
// End of variables declaration
}
LeftHand(JPanel)
package com.derun;
import java.awt.Color;
import java.awt.Graphics;
public class LeftHand extends javax.swing.JPanel implements Runnable {
int up = 145, down = 45, left = 100, right1 = 150, right2 = 200;
public LeftHand() {
initComponents();
new Thread(this).start();
}
@SuppressWarnings("unchecked")
@Override
public void run() {
while (true) {
while (right1 > 100) {
this.repaint(); //重绘
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
}
right1 -= 5;
}
up = 145;
while (up > 45) {
this.repaint(); //重绘
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
}
up -= 5;
}
left = 100;
while (left < 200) {
this.repaint(); //重绘
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
}
left += 5;
}
down = 45;
while (down < 145) {
this.repaint(); //重绘
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
}
down += 5;
}
right2 = 200;
while (right2 > 150) {
this.repaint(); //重绘
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
}
right2 -= 5;
}
right1 = 150;
up = 145;
down = 45;
left = 100;
right2 = 200;
}
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.BLUE);
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.BLUE);
g.drawLine(145, 150, 145, right1);
g.drawLine(145, 100, up, 100);
g.drawLine(45, 100, 45, left);
g.drawLine(45, 200, down, 200);
g.drawLine(145, 200, 145, right2);
}
}
RightHand(JPanel)
package com.derun;
import java.awt.Color;
import java.awt.Graphics;
public class RightHand extends javax.swing.JPanel implements Runnable {
int angel = 0;
public RightHand() {
initComponents();
new Thread(this).start();
}
@SuppressWarnings("unchecked")
@Override
public void run() {
while (true) {
if(angel == 360)
angel = 0;
this.repaint();
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
}
angel += 5;
}
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.RED);
for (int i = 0; i <= angel; i++) {
g.drawArc(45, 100, 100, 100, 0, i);
}
}
}