📄 systemmessagepanel.java
字号:
performAppendMessage(a_Message+"\n");
}
public static String getMessage(String a_CaseID) {
if (s_MultipleInstances.containsKey(a_CaseID))
{
SystemMessagePanel aPanel = (SystemMessagePanel)s_MultipleInstances.get(a_CaseID);
return aPanel.getAllMessage();
}
return null;
}
public String getAllMessage() {
return m_TextPaneMessage.getText();
}
public String getSelectedMessage() {
return m_TextPaneMessage.getSelectedText();
}
private void performAppendMessage(String a_Message)
{
try
{
if (m_Tab.getSelectedComponent()!=this)
m_Tab.setSelectedComponent(this);
m_TextPaneMessage.append(a_Message);
//paintImmediately(this.getBounds());
}catch(Exception e)
{
e.printStackTrace();
}
}
public void nextLine()
{
performAppendMessage("\n");
}
public static void clearMessage(String a_CaseID)
{
if (s_MultipleInstances.containsKey(a_CaseID))
{
SystemMessagePanel aPanel = (SystemMessagePanel)s_MultipleInstances.get(a_CaseID);
aPanel.performClearMessage();
}
}
public void clearMessage() {
performClearMessage();
}
/**
* Clears existing system message.
*/
public void performClearMessage() {
m_TextPaneMessage.setText(null);
}
/**
* Creates UI of the SystemMessagePanel.
* @throws SysException
*/
private void createSystemMessagePanel() throws SysException {
// Message Panel
m_PanelMessage = new JPanel(new BorderLayout());
m_LabelMessage = new JLabel(Resource.srcStr("m_LabelSystemMessage"));
// m_ButtonClear = new JButton();
//m_ButtonClear = new JHelpButton();//<27/07/2005 Kenneth Lai: Add for JHelp>>
m_TextPaneMessage = new JTextArea();
m_TextPaneMessage.setEditable(false);
m_ScrollPaneMessage = new JScrollPane(m_TextPaneMessage);
// <<26/07/2005 Kenneth Lai: Add for JHelp
//HelpObserveSubject.registerInterest(m_TextPaneMessage);
// 26/07/2005 Kenneth Lai: Add for JHelp>>
//m_ButtonClear.setActionCommand("clear");
//m_ButtonClear.setToolTipText(Resource.srcStr("m_ButtonSystemClear"));
//m_ButtonClear.setBorderPainted(false);
//m_ButtonClear.setContentAreaFilled(false);
//m_ButtonClear.setIcon(ResourceLoader.
// getImageIcon(ImageLocation.MSG_CLEAR));
//m_ButtonClear.setHelpDisabledIcon(ResourceLoader.
// getImageIcon(ImageLocation.MSG_CLEAR)); //<27/07/2005 Kenneth Lai: Add for JHelp>>
//m_ButtonClear.setMargin(new Insets(2, 2, 2, 2));
//m_ButtonClear.setBorder(BorderFactory.createEmptyBorder());
//m_ButtonClear.addActionListener(this);
m_PanelMessage.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
m_PanelMessage.setRequestFocusEnabled(true);
m_PanelMessage.add(m_LabelMessage, BorderLayout.WEST);
//m_PanelMessage.add(m_ButtonClear, BorderLayout.EAST);
this.setLayout(new BorderLayout());
this.add(m_ScrollPaneMessage, BorderLayout.CENTER);
this.add(m_PanelMessage, BorderLayout.NORTH);
this.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
}
// <<26/07/2005 Kenneth Lai: Add for JHelp
public void Update(boolean a_HelpState) {
setHelpMode(a_HelpState);
}
private void setHelpMode(boolean a_HelpState) {
HelpCursor helpCursor = new HelpCursor();
if ( a_HelpState )
setCursor(helpCursor.getCursor());
else
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
setHelpState(a_HelpState);
//m_ButtonClear.setEnabled(!a_HelpState);
//m_TextPaneMessage.setHelpMode(a_HelpState);
}
private void setHelpState(boolean a_HelpState) {
m_HelpState = a_HelpState;
}
@SuppressWarnings("unused")
private boolean isHelpMode() {
return m_HelpState;
}
// 26/07/2005 Kenneth Lai: Add for JHelp>>
// 03/17/2006 Xiaojun Chen aAdd for
/**
* reset language
*/
public void resetLocale() {
m_LabelMessage.setText(Resource.srcStr("m_LabelSystemMessage"));
//m_ButtonClear.setToolTipText(Resource.srcStr("m_ButtonSystemClear"));
if(popupmenu!=null) {
copyMessageItem.setText(Resource.srcStr("Copy_systemmessages"));
copyAllMessageItem.setText(Resource.srcStr("Copy_All_systemmessages"));
clearMessageItem.setText(Resource.srcStr("Clear_systemmessages"));
saveMessageItem.setText(Resource.srcStr("Save_systemmessages"));
searchItem.setText(Resource.srcStr("SearchDialogSearch"));
printItem.setText(Resource.srcStr("Print"));
}
}
public void dispose() {
if(searchdialog!=null) {
searchdialog.dispose();
}
if(popupmenu!=null) {
popupmenu.removeAll();
popupmenu = null;
}
}
public void mouseClicked(MouseEvent e) {
if(e.getButton()==MouseEvent.BUTTON3&&e.getClickCount()==1) {
popupmenu.show(e.getComponent(),e.getX(),e.getY());
}
}
private void print() {
try {
Printer.printComponent(m_TextPaneMessage, Resource.srcStr("m_LabelSystemMessage"), superscript);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
SysLog.error(this, e1);
}
}
private void search() {
if(searchdialog==null) {
searchdialog = new SearchDialog(m_TextPaneMessage, m_TextPaneMessage);
}
searchdialog.toshow();
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void lostOwnership(Clipboard clipboard, Transferable contents) {
}
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if(source==copyMessageItem) {
m_TextPaneMessage.copy();
}
else if(source==copyAllMessageItem) {
if(m_TextPaneMessage.getSelectedText()==null) {
StringSelection sSelection = new StringSelection(m_TextPaneMessage.getText());
SystemMessagePanel.this.getToolkit().getSystemClipboard().setContents(sSelection, SystemMessagePanel.this);
}
}
else if(source==clearMessageItem) {
clearMessage();
}
else if(source==saveMessageItem) {
saveMessage();
}
else if(source==searchItem) {
search();
}
else if(source==printItem) {
print();
}
}
private void saveMessage() {
JFileChooser chooser = new JFileChooser(System.getProperty("user.dir"));
chooser.setFileFilter(new FileFilter() {
@Override
public boolean accept(File f) {
String name = f.getName();
if(name.endsWith(".log")||name.endsWith(".txt")) {
return true;
}
else {
return false;
}
}
@Override
public String getDescription() {
return "log and txt";
}
});
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
int returnValue = chooser.showSaveDialog(SystemMessagePanel.this);
switch(returnValue) {
case JFileChooser.APPROVE_OPTION:
try {
File file = chooser.getSelectedFile();
if(file==null) {
return;
}
if(file.exists()) {
if(file.canWrite()) {
PrintWriter out = new PrintWriter(new FileWriter(file));
String content = getSelectedMessage();
if(content!=null) {
out.println(content);
}
else {
out.println(getAllMessage());
}
out.close();
}
}
else {
String filepath = file.getAbsolutePath();
if(filepath.indexOf(".")<0) {
filepath = filepath.concat(".log");
file = new File(filepath);
}
PrintWriter out = new PrintWriter(new FileWriter(file));
String content = getSelectedMessage();
if(content!=null) {
out.println(content);
}
else {
out.println(getAllMessage());
}
out.close();
}
}
catch (IOException ex) {
ex.printStackTrace();
SysLog.error(ex);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -