📄 mimepanel.java
字号:
package net.java.mais.media.jmf;
/**
* <p>Title: SIP Communicator</p>
*
* <p>Description: A SIP UA</p>
*
* <p>Copyright: Copyright (c) 2004</p>
*
* <p>Company: Network Research Team, Louis Pasteur University</p>
*
* @author Emil Ivov
* @version 1.0
*/
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import com.sun.media.MimeManager;
import com.sun.media.util.JMFI18N;
import jmapps.ui.MessageDialog;
public class MimePanel extends JMPanel implements ActionListener, ListSelectionListener, DocumentListener {
private Hashtable htMimeTypes;
private JButton buttonRestore;
private JButton buttonCommit;
private JButton buttonAdd;
private JButton buttonRemove;
private JList listBoxMimeType;
private JTextField textMimeType;
private JList listBoxMimeExt;
private JTextField textMimeExt;
public MimePanel() {
super ();
init ();
}
private void init () {
JPanel panel;
JPanel panelData;
this.setLayout ( new BorderLayout(6,6) );
panel = createPanelButtons ();
this.add ( panel, BorderLayout.EAST );
panelData = new JPanel ( new GridLayout(1,0,12,12) );
this.add ( panelData, BorderLayout.CENTER );
panel = createPanelMimeTypes ();
panelData.add ( panel );
panel = createPanelMimeExt ();
panelData.add ( panel );
restore ();
updateButtons ();
}
private JPanel createPanelButtons () {
JPanel panelButtons;
JPanel panel;
panelButtons = new JPanel ( new FlowLayout(FlowLayout.LEFT) );
panel = new JPanel ( new GridLayout(0,1,12,12) );
panelButtons.add ( panel );
buttonAdd = new JButton ( JMFI18N.getResource("jmfregistry.vector.add") );
buttonAdd.addActionListener ( this );
panel.add ( buttonAdd );
buttonRemove = new JButton ( JMFI18N.getResource("jmfregistry.vector.remove") );
buttonRemove.addActionListener ( this );
panel.add ( buttonRemove );
buttonRestore = new JButton ( JMFI18N.getResource("jmfregistry.vector.restore") );
buttonRestore.addActionListener ( this );
// panel.add ( buttonRestore );
buttonCommit = new JButton ( JMFI18N.getResource("jmfregistry.vector.commit") );
buttonCommit.addActionListener ( this );
panel.add ( buttonCommit );
return ( panelButtons );
}
private JPanel createPanelMimeTypes () {
JPanel panel;
JPanel panelTemp;
JLabel label;
panel = new JPanel ( new BorderLayout(6,6) );
panelTemp = new JPanel ( new BorderLayout(6,6) );
panel.add ( panelTemp, BorderLayout.NORTH );
label = new JLabel ( JMFI18N.getResource("jmfregistry.mime.type.label") );
panelTemp.add ( label, BorderLayout.NORTH );
textMimeType = new JTextField ();
textMimeType.getDocument().addDocumentListener ( this );
panelTemp.add ( textMimeType, BorderLayout.CENTER );
listBoxMimeType = new JList (new DefaultListModel());
listBoxMimeType.addListSelectionListener ( this );
panel.add ( new JScrollPane(listBoxMimeType), BorderLayout.CENTER );
return ( panel );
}
private JPanel createPanelMimeExt () {
JLabel label;
JPanel panel;
JPanel panelTemp;
panel = new JPanel ( new BorderLayout(6,6) );
panelTemp = new JPanel ( new BorderLayout(6,6) );
panel.add ( panelTemp, BorderLayout.NORTH );
label = new JLabel ( JMFI18N.getResource("jmfregistry.mime.ext.label") );
panelTemp.add ( label, BorderLayout.NORTH );
textMimeExt = new JTextField ();
textMimeExt.getDocument().addDocumentListener ( this );
panelTemp.add ( textMimeExt, BorderLayout.CENTER );
listBoxMimeExt = new JList (new DefaultListModel());
listBoxMimeExt.addListSelectionListener ( this );
panel.add ( new JScrollPane (listBoxMimeExt), BorderLayout.CENTER );
return ( panel );
}
public void actionPerformed ( ActionEvent event ) {
String strCmd;
Object objSource;
objSource = event.getSource ();
strCmd = event.getActionCommand ();
if ( strCmd.equals(buttonRestore.getActionCommand()) )
restore ();
if ( strCmd.equals(buttonCommit.getActionCommand()) )
MimeManager.commit();
else if ( objSource == buttonAdd )
addExt ();
else if ( objSource == buttonRemove )
removeExt ();
updateButtons ();
}
public void valueChanged ( ListSelectionEvent event ) {
Object objSource;
String strValue;
objSource = event.getSource ();
if ( objSource == listBoxMimeType ) {
strValue = (String)listBoxMimeType.getSelectedValue ();
textMimeType.setText ( strValue );
fillExtList ();
}
else if ( objSource == listBoxMimeExt ) {
strValue = (String)listBoxMimeExt.getSelectedValue ();
textMimeExt.setText ( strValue );
}
updateButtons ();
}
public void changedUpdate ( DocumentEvent evt ) {
updateButtons ();
}
public void insertUpdate ( DocumentEvent evt ) {
updateButtons ();
}
public void removeUpdate ( DocumentEvent evt ) {
updateButtons ();
}
private void restore () {
Hashtable htMimeExt;
Enumeration enumKeys;
Object objExt;
Object objType;
String strExt;
String strType;
Vector vectorExt;
htMimeExt = MimeManager.getMimeTable ();
htMimeTypes = new Hashtable ();
enumKeys = htMimeExt.keys ();
while ( enumKeys.hasMoreElements() ) {
objExt = enumKeys.nextElement ();
objType = htMimeExt.get ( objExt );
strExt = objExt.toString ();
strType = objType.toString ();
if ( htMimeTypes.containsKey(strType) ) {
vectorExt = (Vector)htMimeTypes.get ( strType );
}
else {
vectorExt = new Vector ();
htMimeTypes.put ( strType, vectorExt );
}
if ( !vectorExt.contains(strExt) )
vectorExt.addElement ( strExt );
}
fillTypeList ();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -