1 21 22 package org.armedbear.j; 23 24 import java.awt.Graphics ; 25 import java.awt.event.KeyEvent ; 26 import java.awt.event.WindowEvent ; 27 import javax.swing.BorderFactory ; 28 import javax.swing.Box ; 29 import javax.swing.JTextArea ; 30 import javax.swing.UIManager ; 31 32 public class MessageDialog extends AbstractDialog 33 { 34 private Editor editor; 35 36 protected MessageDialog(Editor editor) 37 { 38 super(editor); 39 this.editor = editor; 40 } 41 42 public static void showMessageDialog(Editor editor, String text, 43 String title) 44 { 45 MessageDialog d = new MessageDialog(editor != null ? editor : 46 Editor.currentEditor()); 47 d.initialize(text, title); 48 if (editor != null) 49 editor.setDefaultCursor(); 50 d.show(); 51 } 52 53 public final static void showMessageDialog(String text, String title) 54 { 55 showMessageDialog(Editor.currentEditor(), text, title); 56 } 57 58 protected void initialize(String text, String title) 59 { 60 setModal(true); 61 setTitle(title); 62 mainPanel.setBorder(BorderFactory.createEmptyBorder(18, 18, 6, 18)); 63 TextArea textArea = new TextArea (text); 64 textArea.setAlignmentX(LEFT_ALIGNMENT); 65 textArea.setEditable(false); 66 textArea.setBorder(BorderFactory.createEmptyBorder()); 67 textArea.setBackground(UIManager.getColor("control")); 68 mainPanel.add(textArea); 69 mainPanel.add(Box.createVerticalStrut(14)); 70 addButtons(); 71 pack(); 72 centerDialog(); 73 if (okButton != null) 74 okButton.requestFocus(); 75 } 76 77 protected void addButtons() 78 { 79 addOK(); 80 } 81 82 public void keyPressed(KeyEvent e) 83 { 84 if (e.getModifiers() == 0) { 85 switch (e.getKeyCode()) { 86 case KeyEvent.VK_ENTER: 87 case KeyEvent.VK_SPACE: 88 enter(); 89 break; 90 case KeyEvent.VK_ESCAPE: 91 escape(); 92 break; 93 } 94 } 95 } 96 97 public void windowActivated(WindowEvent e) 98 { 99 requestFocus(); 100 } 101 102 private static class TextArea extends JTextArea  103 { 104 public TextArea(String text) 105 { 106 super(text); 107 } 108 109 public void paintComponent(Graphics g) 110 { 111 Display.setRenderingHints(g); 112 super.paintComponent(g); 113 } 114 } 115 } 116 | Popular Tags |