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

📄 addfavoritesui.java

📁 一个简单的HTTP服务器和HTTP客户端程序 HTTP客户端(即浏览器)只支持显示标准HTML
💻 JAVA
字号:
package web.http.ui;

import java.awt.Color;
import java.awt.Rectangle;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.RandomAccessFile;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class AddFavoritesUI extends JFrame implements ActionListener
{
    JPanel contentPane;

    /**
     * 这里输入文本框是使用awt包的TextField,而不是swing包的JTextField
     * 因为JTextField在输入中文的时候会弹出很多异常
     * 暂时无法解决
     * 故用此法代替
     */
   TextField tfName = new TextField();

    
    JLabel labURL = new JLabel();

    JLabel labNameName = new JLabel();

    JLabel labURLName = new JLabel();

    JButton bOK = new JButton();

    JButton bCancel = new JButton();

    JLabel labInfo = new JLabel();

    public AddFavoritesUI()
    {
        initUI();
    }

    private void initUI()
    {
       JFrame.setDefaultLookAndFeelDecorated(true);
        
        tfName.setBounds(new Rectangle(81, 53, 402, 29));
        contentPane = (JPanel) this.getContentPane();
        contentPane.setLayout(null);
        this.setTitle("添加到收藏夹");
        labURL.setBorder(BorderFactory.createLineBorder(Color.black));
        labURL.setBounds(new Rectangle(81, 109, 402, 29));
        labNameName.setBorder(BorderFactory.createLineBorder(Color.black));
        labNameName.setText(" 名称");
        labNameName.setBounds(new Rectangle(16, 53, 55, 29));
        labURLName.setBorder(BorderFactory.createLineBorder(Color.black));
        labURLName.setText(" URL地址");
        labURLName.setBounds(new Rectangle(16, 109, 55, 29));
        contentPane.setBorder(BorderFactory.createLineBorder(Color.black));
        bOK.setBorder(BorderFactory.createLineBorder(Color.black));
        bOK.setText("确定");
        bOK.setBounds(new Rectangle(300, 156, 80, 31));
        bCancel.setBounds(new Rectangle(403, 155, 80, 31));
        bCancel.setText("取消");
        bCancel.setBorder(BorderFactory.createLineBorder(Color.black));
        labInfo.setText("您将添加该地址到收藏夹中");
        labInfo.setBounds(new Rectangle(19, 11, 169, 29));
        contentPane.add(bOK, null);
        contentPane.add(tfName, null);
        contentPane.add(labNameName, null);
        contentPane.add(labURLName, null);
        contentPane.add(labURL, null);
        contentPane.add(labInfo, null);
        contentPane.add(bCancel, null);
        
        this.bOK.addActionListener(this);
        this.bCancel.addActionListener(this);
        
        this.setSize(500, 240);
        this.setLocation(100, 100);
        this.setVisible(true);
    }
    public static void main(String[] args)
    {
        new AddFavoritesUI().setURL("www.xinhuanet.com");
    }
    public void actionPerformed(ActionEvent e)
    {
        if(e.getSource().equals(this.bOK))
        {
            if(this.tfName.getText().trim().equals(""))
            {
                this.tfName.setText(this.labURL.getText());
            }
            saveFavorites(this.tfName.getText().trim(),this.labURL.getText());
        }
        else if(e.getSource().equals(this.bCancel))
        {
            
        }
        this.setVisible(false);
    }
    public void saveFavorites(String name,String url)
    {
        try
        {
            File nowdir=new File(".").getAbsoluteFile();
            String dirString=nowdir.toString();
            String subs=dirString.substring(0,dirString.length()-1);
            File fileInfo=new File(subs+"info/");
            if(!fileInfo.exists())  fileInfo.mkdir();	
         
            File favoritesFile=new File(fileInfo,"favorites.dat");
            RandomAccessFile favoritesRAF=new RandomAccessFile(favoritesFile,"rw");
            favoritesRAF.seek(favoritesRAF.length());
            
            favoritesRAF.write(name.getBytes());
            favoritesRAF.writeByte(13);
            favoritesRAF.writeByte(10);
            favoritesRAF.write(url.getBytes());
            favoritesRAF.writeByte(13);
            favoritesRAF.writeByte(10);
            
            favoritesRAF.close();
        }catch(Exception e)
        {
            e.printStackTrace();
        }
    }
    public void setURL(String url)
    {
        this.labURL.setText(url);
    }
}

⌨️ 快捷键说明

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