⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 url_txtimg.java

📁 刘艺编著的java教程的课本习题加例题代码 很有用哦!
💻 JAVA
字号:
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
//这个类继承了Frame类,生成一个带标题的窗口
public class URL_TXTIMG{

  public static void main(String args[]){
  
   getDataByURL win=new getDataByURL();
   win.setBounds(10,10,300,300);
   win.setVisible(true);
   win.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e) { System.exit(0); } });
  }
}
class getDataByURL extends Frame implements ActionListener{
  
    MenuBar menuBar;
    MenuItem imageDisp,textDisp;
    boolean drawImage=false;
    int i=0;
    String line_str;
    boolean first=true;
    Font font;
    
    getDataByURL(){        //类getDataByURL的构造函数
    
      super("");
      menuBar=new MenuBar();      //生成一个菜单条
      setMenuBar(menuBar);
      Menu display=new Menu("显示");  //为菜单条第一个菜单取名"display"
      menuBar.add(display);  //生成"display"菜单下的两个菜单项
      imageDisp=new MenuItem("图象");
      textDisp=new MenuItem("文本");
      display.add(imageDisp);
      display.add(textDisp);
      imageDisp.addActionListener(this);
      textDisp.addActionListener(this);
      //设置背景颜色和文本的字体
      setBackground(Color.white);
      font=new Font("System",Font.BOLD,20);
      setTitle("sample:use URL get data");   //设置带有菜单的窗口的标题
     
      show();//显示窗口
    }

    public void actionPerformed(ActionEvent e) {    //处理窗口中的菜单事件
   
     if(e.getSource()==imageDisp) { 
    
       drawImage=true;
       doDrawImage();
     }
     else{
       drawImage=false;
       first=true;

       //注:在运行本程序之前请注意文本文件安装的绝对路径必须与实际的一致
       doWrite("file://d:/java/textbook/loadimg.txt");
     }
    }
 

  public void paint(Graphics g){

   if(drawImage){
    try{
      //生成一个URL对象,它指向本机上的一个类型为.gif的图形文件

      //注:在运行本程序之前请注意图形文件安装的绝对路径必须与实际的一致
      URL image_URL=new URL("file://d:/java/textbook/javalogo.gif");
      Toolkit object_Toolkit=Toolkit.getDefaultToolkit();
      Image object_Image=object_Toolkit.getImage(image_URL);
      g.drawImage(object_Image,10,100,this);
     }
     catch(MalformedURLException e){}
   }
   else  {
     if(first)   {
       first=false;
       g.setColor(Color.white);
       g.fillRect(0,0,400,300);
       g.setFont(font);
    }
    if(line_str!=null)
      g.drawString(line_str,10,i*20);
    i++;
   }
  }
  
  //画图像函数
  private void doDrawImage() {
   repaint();
  }

  //写文本函数,它的参数是一个指向绝对URL的字符串
  private void doWrite(String url_str) {
    try{
     //用参数url_str生成一个绝对的URL。它指向本机上的一个文本文件
    URL url=new URL(url_str);
    //通过URL对象的openConnection()方法产生URLConnection类的对象
    URLConnection connection=url.openConnection();
    //通过URLConnection对象的getInputStream()方法产生InputStream对象
    InputStream inputstream= connection.getInputStream();
    //由inputstream产生InputStreamReader类对象file
    InputStreamReader file=new InputStreamReader(inputstream);
    BufferedReader in=new BufferedReader(file);
    try{
     i=1;
     line_str=in.readLine();
     while(line_str!=null) {
       paint(getGraphics());
       line_str=in.readLine();
     }
    }
    catch(IOException e){}
    in.close();       //关闭输入流
   }
   catch(MalformedURLException e1){}
   catch(IOException e2){}
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -