import java.net.*;
import java.awt.*;
import javax.swing.*;
import java.io.*;public class GetDataByURL extends Frame
//public class GetDataByURL extends JFrame
{
MenuBar menuBar;
//JMenuBar menuBar;
boolean drawImage=false;
DataInputStream dataInputStream;
//BufferedInputStream bis;
int i=0;
String line_str;
boolean first=true;
Font font;
public GetDataByURL()
{
menuBar=new MenuBar();
//menuBar=new JMenuBar();
setMenuBar(menuBar);
//SetJMenuBar(menuBar);
Menu display=new Menu("display");
//JMenu display=new JMenu("display");
menuBar.add(display);
MenuItem beauty_display=new MenuItem("display_beauty");
//JMenuItem beauty_display=new JMenuItem("display_beauty");
MenuItem text_display=new MenuItem("display_text");
//JMenuItem text_display=new JMenuItem("display_text");
display.add(beauty_display);
display.add(text_display);
setBackground(Color.white);
font=new Font("System",Font.BOLD,20);
setTitle("sample:use URL get data");
setSize(400,300);
show();
//setVisible(true);
}
public boolean action(Event evt,Object what)
{
if(evt.target instanceof MenuItem)
//if(evt.target instanceof JMenuItem)
{
String message=(String)what;
if(message=="display_beauty")
{
drawImage=true;
doDrawImage();
}
else
{
drawImage=false;
first=true;
if(message=="display_text")
{
doWrite("file:///F:/JAVA学习资料/java网络高级编程/test/chap1/data.txt");
}
}
}
return true;
}
public boolean handleEvent(Event evt)
{
switch(evt.id)
{
case Event.WINDOW_DESTROY:
dispose();
System.exit(0);
default:
return super.handleEvent(evt);
}
}
public static void main(String[] args)
{
new GetDataByURL();
}
public void paint(Graphics g)
{
if(drawImage)
{
try
{
URL image_URL=new URL("file:///F:/JAVA学习资料/java网络高级编程/test/chap1/image.jpg");
Toolkit object_Toolkit=Toolkit.getDefaultToolkit();
Image object_Image=object_Toolkit.getImage(image_URL);
g.setColor(Color.white);
g.fillRect(0,0,300,400);
g.drawImage(object_Image,40,80,160,200,this);
}
catch(MalformedURLException e)
{
e.printStackTrace();
}
}
else
{
if(first)
{
first=false;
g.setColor(Color.white);
g.fillRect(0,0,400,300);
g.setFont(font);
}
if(line_str!=null)
{
setForeground(Color.RED);
System.out.println(line_str+i);
g.drawString(line_str,10,i*20);
System.out.println(line_str+i);
}
i++;
}
}
private void doDrawImage()
{
drawImage=true;
repaint();
}
private void doWrite(String url_str)
{
try
{
URL url=new URL(url_str);
dataInputStream=new DataInputStream(url.openStream());
try
{
i=1;
line_str=dataInputStream.readLine();
while(line_str!=null)
{
paint(getGraphics());
line_str=dataInputStream.readLine();
}
}
catch(IOException e)
{
e.printStackTrace();
}
dataInputStream.close();
}
catch(MalformedURLException e1)
{
e1.printStackTrace();
}
catch(IOException e2)
{
e2.printStackTrace();
}
}
}为什么g.drawString()不起作用,出不来结果?