您的位置:首页 > 产品设计 > UI/UE

javaGUI解决闪屏问题

2015-07-24 12:30 483 查看
javaGUI解决闪屏问题可以通过继承JPanel来实现,特别简单,因为JPanel有已经实现的解决闪屏的方法

JFrame jfm=new JFrame();
this.setDoubleBuffered(true);

package demo.wl;

import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class DemoGUI extends JPanel{
public void init(){
JFrame jfm=new JFrame();
//this.setDoubleBuffered(true);//这个就是JPnel自带的双缓冲技术
jfm.add(this);//把JPanel组件加到窗口上来
jfm.setTitle("GUI");
jfm.setVisible(true);
jfm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jfm.setBounds(0, 8, 820, 620);
jfm.setLocationRelativeTo(null);
jfm.setResizable(false);
new Thread(new MyThread()).start();
}
public static void main(String[] args) {
new DemoGUI().init();
}
@Override
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.GRAY);
g.drawRect(20, 40, 750, 525);
g.fillRect(200, 110, 50,50);
for(int i=1;i<=50;i++){
for(int j=1;j<=35;j++){
g.drawLine(20,15*j+40,770, 15*j+40);
}
g.drawLine(20+15*i, 40, 20+15*i, 565);
}
}
public class MyThread implements Runnable{
@Override
public void run() {
while(true){
repaint();
try {
Thread.sleep(1);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: