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

📄 xbookmarkpropertieslayout.java

📁 XBrowser是一个完全免费并且开源的Web浏览器
💻 JAVA
字号:
/****************************************************************
*              XBrowser  -  eXtended web Browser                *
*                                                               *
*           Copyright (c) 2000-2001  Armond Avanes              *
*     Refer to ReadMe & License files for more information      *
*                                                               *
*                                                               *
*                      By: Armond Avanes                        *
*       Armond555@yahoo.com     &    Armond333@yahoo.com        *
*                http://xbrowser.sourceforge.net/               *
*****************************************************************/
package xbrowser.screen;

import java.awt.*;
import java.util.*;
import java.text.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

import xbrowser.*;
import xbrowser.util.*;
import xbrowser.widgets.*;
import xbrowser.bookmark.*;

public class XBookmarkPropertiesLayout extends XFrame
{
	private void addToContainer(Component comp,Container container,GridBagLayout gridbag,GridBagConstraints constraints,int grid_width,double weight_x)
	{
        constraints.gridwidth = grid_width;
        constraints.weightx = weight_x;
        gridbag.setConstraints(comp, constraints);
		container.add(comp);
	}

	public XBookmarkPropertiesLayout()
	{
		setTitle( XRepository.getResourceManager().getProperty(this, "Title") );

    GridBagLayout gridbag = new GridBagLayout();
    GridBagConstraints constraints = new GridBagConstraints();

		lblLocation.setVerticalAlignment(SwingConstants.TOP);
		lblLocation.setVerticalTextPosition(SwingConstants.TOP);

        constraints.fill = GridBagConstraints.HORIZONTAL;
        constraints.insets = new Insets(5,5,5,5);
		getContentPane().setLayout(gridbag);

		addToContainer(buildLabel(this, "Name"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(txfName,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(lblLocation,getContentPane(),gridbag,constraints,1,0);
		addToContainer(txfLocation,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(buildLabel(this, "Description"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(new JScrollPane(txaDescription),getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(buildLabel(this, "ParentFolder"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(cmbParent,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(buildLabel(this, "CreationDate"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(txfCreationDate,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(buildLabel(this, "ModificationDate"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(txfModificationDate,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(getButtonsPanel(),getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,0);

		txfCreationDate.setEnabled(false);
		txfModificationDate.setEnabled(false);

        txfName.addFocusListener( new FocusAdapter() {
			public void focusGained(FocusEvent e)
			{
				txfName.selectAll();
			}
		});
        txfLocation.addFocusListener( new FocusAdapter() {
			public void focusGained(FocusEvent e)
			{
				txfLocation.selectAll();
			}
		});
        txaDescription.addFocusListener( new FocusAdapter() {
			public void focusGained(FocusEvent e)
			{
				txaDescription.selectAll();
			}
		});

        setIconImage( buildImageIcon(this, "image.FrameIcon").getImage() );
        setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        pack();
        //setResizable(false);
	}

    public void setBookmark(XAbstractBookmark abs_bm, XBookmarkFolder new_parent)
    {
        absBookmark = abs_bm;

        if( absBookmark!=null )
        {
			txfName.setText( absBookmark.getTitle() );
			txaDescription.setText( absBookmark.getDescription() );

			if( absBookmark.getParent()!=null )
				cmbParent.setSelectedItem( absBookmark.getParent() );
			else
				cmbParent.setSelectedItem( new_parent );

			txfCreationDate.setText( df.format(absBookmark.getCreationDate()) );
			txfModificationDate.setText( df.format(absBookmark.getModificationDate()) );
		}
		else
		{
			txfName.setText("");
			txaDescription.setText("");

			txfCreationDate.setText("");
			txfModificationDate.setText("");

			cmbParent.setSelectedItem( new_parent );
		}

		if( absBookmark instanceof XBookmark )
		{
			lblLocation.setEnabled(true);
			txfLocation.setEnabled(true);
	        txfLocation.setText( ((XBookmark)absBookmark).getHRef() );
		}
		else
		{
			lblLocation.setEnabled(false);
			txfLocation.setEnabled(false);
	        txfLocation.setText("");
		}
	}

    private JPanel getButtonsPanel()
    {
    JPanel pnl_main = new JPanel();
    JPanel pnl_buttons = new JPanel();
	final JButton btn_ok = buildButton(new OKAction());

        cmbParent.addItemListener( new ItemListener() {
			public void itemStateChanged(ItemEvent e)
			{
				btn_ok.setEnabled( cmbParent.getSelectedBookmark()!=absBookmark );
			}
		});

        pnl_main.setLayout(new FlowLayout());
        pnl_buttons.setLayout(new GridLayout(1,2,15,5));
        pnl_buttons.add(btn_ok);
        pnl_buttons.add(buildButton(new CancelAction()));
        pnl_main.add(pnl_buttons);

        getRootPane().setDefaultButton(btn_ok);

        return pnl_main;
	}

    private class OKAction extends XDefaultAction
    {
        public OKAction()
        {
            super(XBookmarkPropertiesLayout.this, "Ok", null);
        }

        public void actionPerformed(ActionEvent e)
        {
		    absBookmark.setTitle( txfName.getText() );
		    absBookmark.setDescription( txaDescription.getText() );
			if( absBookmark instanceof XBookmark )
				((XBookmark)absBookmark).setHRef( txfLocation.getText() );
			absBookmark.setModificationDate( new Date() );

			cmbParent.getSelectedBookmark().addBookmark(absBookmark);
		    setVisible(false);
        }
    }

    private class CancelAction extends XDefaultAction
    {
        public CancelAction()
        {
            super(XBookmarkPropertiesLayout.this, "Cancel", null);
        }

        public void actionPerformed(ActionEvent e)
        {
		    setVisible(false);
        }
    }

// Attributes:
	private XAbstractBookmark absBookmark = null;

	private DateFormat df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT);

	private JLabel lblLocation = buildLabel(this, "Location");
	private JTextField txfName = new JTextField(30);
	private JTextField txfLocation = new JTextField(30);
	private JTextArea txaDescription = new JTextArea(7,30);
	private JTextField txfCreationDate = new JTextField(30);
	private JTextField txfModificationDate = new JTextField(30);
	private XBookmarkFolderComboBox cmbParent = new XBookmarkFolderComboBox();
}

⌨️ 快捷键说明

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