📄 schattingmenu.java
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
/**
* 主窗口菜单
*
* @author 戚荣波
*
* @version 1.0
* @since J2SE 1.6
*/
public class SChattingMenu extends JMenuBar
{
private static JMenuItem mi_server,mi_connect,mi_disconnect;
private static JMenu m_option;
private static Color myColor = new Color(198,236,251);
public SChattingMenu()
{
setBackground(myColor);
JMenu [] m = { new JMenu("Connect(C)"),new JMenu("Option(O)"),new JMenu("History"),new JMenu("About(A)")};
char [] mC ={'C','O','H','A' };
JMenuItem [][] mI =
{
{new JMenuItem("SetUp(N)"),new JMenuItem("ConnectTo(C)"),new JMenuItem("Disconnect(D)"),new JMenuItem("Exit(X)")},
{new JMenuItem("Send(S)"),new JMenuItem("SendFile(F)"),new JMenuItem("SendPicture(P)")},
{new JMenuItem("Save(S)"),new JMenuItem("View(V)"),new JMenuItem("Clear(C)")},
{new JMenuItem("About(A)")}
};
char [][] mIC =
{
{'N','C','D','X'},
{'E','F','P'},
{'S','V','R'},
{'A'}
};
mI[0][2].setEnabled(false);
mI[0][0].addActionListener(new serverListener());
mI[0][1].addActionListener(new connectListener());
mI[0][2].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
Connect.mb_disconnect();
}
}
);
mI[0][3].addActionListener(new closeListener());
mI[1][0].addActionListener(new sendListener());
mI[1][1].addActionListener(new fileListener());
mI[1][2].addActionListener(new pictureListener());
mI[2][0].addActionListener(new saveListener());
mI[2][1].addActionListener(new viewListener());
mI[2][2].addActionListener(new clearHistoryListener());
mI[3][0].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
JOptionPane.showConfirmDialog(ShowWindow.app,"my chatting tool:SChatting\nby Seven 2007-09-15",
"About", JOptionPane.YES_OPTION, JOptionPane.INFORMATION_MESSAGE,
new ImageIcon("icon\\seven.gif"));
}
}
);
for(int i = 0;i < m.length; i++)
{
this.add(m[i]);
m[i].setMnemonic(mC[i]);
for(int j = 0;j<mI[i].length;j++)
{
m[i].add(mI[i][j]);
mI[i][j].setMnemonic(mIC[i][j]);
mI[i][j].setAccelerator(KeyStroke.getKeyStroke("ctrl "+mIC[i][j]));
}
}
mI[1][0].setAccelerator(KeyStroke.getKeyStroke("control ENTER"));
m[0].insertSeparator(2);
m[0].insertSeparator(4);
m[1].insertSeparator(1);
m[2].insertSeparator(2);
mi_server = mI[0][0];
mi_connect = mI[0][1];
mi_disconnect = mI[0][2];
m_option = m[1];
mb_disconnect();
}
/**
*连接建立时按钮的状态
*/
public static void mb_connect()
{
m_option.setEnabled(true);
mi_server.setEnabled(false);
mi_connect.setEnabled(false);
mi_disconnect.setEnabled(true);
}
/**
*连接断开时按钮的状态
*/
public static void mb_disconnect()
{
m_option.setEnabled(false);
mi_server.setEnabled(true);
mi_connect.setEnabled(true);
mi_disconnect.setEnabled(false);
}
}
class SPopupMenu extends JPopupMenu
{
JTextPane tp = null;
JMenuItem [] miHide = new JMenuItem[2];
public SPopupMenu()
{
super();
JMenuItem [] mi=
{
new JMenuItem("Cut(X)"),new JMenuItem("Copy(C)"),new JMenuItem("Paste(P)")
};
for(int i=0;i<mi.length;i++)
{
add(mi[i]);
}
mi[0].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
tp.cut();
}
}
);
mi[1].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
tp.copy();
}
}
);
mi[2].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
tp.paste();
}
}
);
miHide[0]=mi[0];
miHide[1]=mi[2];
}
public void show(Component c,int x,int y,boolean canEdit)
{
if(canEdit)for(int i=0;i<miHide.length;i++)miHide[i].setVisible(true);
else for(int i=0;i<miHide.length;i++)miHide[i].setVisible(false);
super.show(c,x,y);
tp = (JTextPane)getInvoker();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -