java中 paint(Graphics g)调用不成功,求高人指点!! JAVA中如何在main()函数中调用paint(Graph...

java\u4e2d paint(Graphics g)\u4e0d\u8c03\u7528\uff1b\u6025\u554a\u3002\u54ea\u4f4d\u5927\u867e\u5e2e\u5fd9\u89e3\u51b3\u4e0b

\u770b\u770b\u4f60\u7684\u6784\u9020\u65b9\u6cd5,\u4f60\u7684\u6784\u9020\u65b9\u6cd5\u91cc\u9762\u53ea\u662f\u91cd\u65b0\u521b\u5efa\u9664\u4e86\u4e00\u4e2aJFrame,\u4eba\u5bb6\u6389\u4e86JFrame\u81ea\u5df1\u7684paint\u65b9\u6cd5,\u5f53\u7136\u8c03\u4e0d\u5230\u4f60\u7684\u7c7b\u91cc\u9762\u7684\u65b9\u6cd5\u4e86.\u8981\u60f3\u8c03\u4f60\u81ea\u5df1\u7684paint\u65b9\u6cd5,\u5c31\u5427\u90a3\u4e2aJFrame\u5bf9\u8c61\u53bb\u6389.
package Date0902.Date0902_aili;

import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

public class ailin extends Frame {
int width = Toolkit.getDefaultToolkit().getScreenSize().width;

int height = Toolkit.getDefaultToolkit().getScreenSize().height;

BufferedImage bgImage = null;

public ailin() {
setVisible(true);
setSize(499, 520);
setTitle("\u706b\u7ffc\u4e94\u5b50\u68cb");
//f.addMouseListener(this);
setResizable(false);
// setDefaultCloseOperation(Frame.EXIT_ON_CLOSE);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent event) {
System.exit(0);
}
});

setLocation((width - 500) / 2, (height - 500) / 2);
try {
bgImage = ImageIO.read(new File("F:\\\u7167\u7247\\Photo-2.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

@Override
public void paint(Graphics g) {
System.out.println("\u8fd9\u53e5\u8bdd\u6253\u5370\u4e0d\u51fa\u6765");
g.drawImage(bgImage, 1, 26, this);
for (int i = 0; i <= 18; i++) {
// \u6a2a\u7ebf
g.drawLine(15, 90 + i * 20, 375, 90 + i * 20);
// \u7eb5\u7ebf
g.drawLine(15 + i * 20, 90, 15 + i * 20, 450);
}
g.setFont(new Font("\u9ed1\u4f53", Font.BOLD, 30));
g.drawString("\u6e38\u620f\u4fe1\u606f:", 75, 70);
g.setFont(new Font("\u5b8b\u4f53", 14, 14));
g.drawString("\u9ed1\u65b9\u4fe1\u606f:", 25, 492);
g.drawString("\u767d\u65b9\u4fe1\u606f:", 235, 492);
g.fillOval(0, 0, 16, 16);
}

public static void main(String[] args) {
ailin a = new ailin();
}
}

\u6211\u7ed9\u4f60\u6539\u4e86\u4e00\u4e0b \u4f60\u770b\u770b\u4f60\u662f\u4e0d\u4f60\u60f3\u8981\u7684\u7ed3\u679c

import java.applet.Applet;
import java.awt.*;

public class zuoye4_2_2 extends Applet {
Font fnt1 = new Font("Courier", Font.PLAIN, 25);
Font fnt2 = new Font("Helvetica", Font.BOLD, 30);
Font fnt3 = new Font("TimesRoman", Font.ITALIC, 35);

public void paint(Graphics g) {
String str = new String("I LOVE BEJING!");

g.setFont(fnt1);
g.drawString(str, 30, 40);
g.setFont(fnt2);
g.drawString(str, 50, 80);
g.setFont(fnt3);
g.drawString(str, 70, 120);

}

public static void main(String[] args) {
zuoye4_2_2 i = new zuoye4_2_2();
Graphics g =i.getGraphics();
i.paint(g);
}
}

我说其实不是调用成功与否的问题,而是你没有合适的显示!!!哎,我说你到底想写Applet程序还是GUI程序呀?在Applet里硬生生地加了个main方法,方便执行是吧?我跟你说,要么你写Applet,嵌入到网页中执行,要么就不要继承于Applet,不伦不类!要说原因的话,因为Applet类的父类是Panel类,是无法独立显示的,所以你继承于Applet类加了main方法之后,虽然可以执行,但是无法显示。这是我修改过后的代码,可以看到你想要的效果,但是已经不是继承于Applet了,而是继承于JFrame,你要继承于Frame也可以,或者你把你的面板(thread类)添加到窗口(例如Frame)中,或者你一定要要继承于Applet的也可以做到,那就在浏览器中执行吧:加上init等基本方法来控制

import java.applet.Applet;
import javax.swing.*;
import java.awt.*;

public class thread extends JFrame//Applet
{
public thread()
{
super("test");
setSize(310,250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void paint(Graphics g)
{
int i;
g.setColor(Color.pink);
g.fillRect(20,10,320,240);

for(i=30;i<=250;i++)
{
g.setColor(Color.green);
g.fillOval(i,100,60,60);
try
{
Thread.sleep(5);
}catch(InterruptedException e){}
g.setColor(Color.pink);
g.fillOval(i,100,60,60);
}

for(i=250;i>=30;i--)
{
g.setColor(Color.green);
g.fillOval(i,100,60,60);
try
{
Thread.sleep(3);
}catch(InterruptedException e){}
g.setColor(Color.pink);
g.fillOval(i,100,60,60);
}

repaint();
}
public static void main(String [] args)
{
thread thr=new thread();
}
}

dscdghyurbf rfjhutfbgtvbv htjfhnyut

扩展阅读:javascript在线 ... javascript入门 ... java windowbuilder ... java interrupt ... java remove ... grep java ... java版启动器下载 ... java point ... java xpath ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网