📄 addfavoritesui.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 + -