1 15 16 18 36 package ixenon.free.swing; 37 38 import java.awt.*; 39 import java.awt.event.*; 40 import java.util.*; 41 import java.io.*; import java.net.*; 44 import javax.swing.*; import javax.swing.event.*; import javax.swing.border.*; 48 49 58 public class PagerDialog extends JDialog 59 implements ActionListener, WindowListener 60 { 61 62 public final static int APPROVE_BUTTON = 2; 63 64 public final static int CANCEL_BUTTON = 1; 65 66 67 public final static String DEFAULT_APPROVE_TEXT="Done"; 68 69 public final static String DEFAULT_APPROVE_TOOLTIP_TEXT="dispose dialog"; 70 71 72 public final static String DEFAULT_CANCEL_TEXT="Cancel"; 73 74 public final static String DEFAULT_CANCEL_TOOLTIP_TEXT="cancel"; 75 76 77 protected JButton bt_approve; 78 79 protected JButton bt_cancel; 80 81 82 protected Pager pagerPane; 83 84 protected int response=-1; 85 86 91 public PagerDialog( Frame frame, String title) 92 { 93 this( frame, title, DEFAULT_APPROVE_TEXT, DEFAULT_CANCEL_TEXT ); 94 } 95 96 103 public PagerDialog( Frame frame, String title, 104 String approveText, String cancelText ) 105 { 106 super( frame, title, true ); 107 getContentPane().setLayout( new BorderLayout( 2,2 )); 108 109 pagerPane = new Pager(); 113 getContentPane().add( pagerPane, BorderLayout.CENTER ); 114 115 bt_cancel = new JButton( cancelText ); 117 bt_cancel.addActionListener(this); 118 pagerPane.addExtraComponent( bt_cancel); 119 120 bt_approve = new JButton( approveText ); 121 bt_approve.addActionListener(this); 122 pagerPane.addExtraComponent( bt_approve); 123 124 response = -1; 125 addWindowListener(this); 126 pack(); 127 } 128 129 130 public Pager getPagerPane() 131 { 132 return (pagerPane); 133 } 134 135 139 140 public int getNumPages() 141 { 142 return pagerPane.getNumPages(); 143 } 144 145 146 public int getPageIndex() 147 { 148 return pagerPane.getPageIndex(); 149 } 150 151 156 public void setPageIndex( int newIndex ) 157 { 158 pagerPane.setPageIndex( newIndex ); 159 } 160 161 162 public void gotoPrevPage() 163 { 164 pagerPane.gotoPrevPage(); 165 } 166 167 168 public void gotoNextPage() 169 { 170 pagerPane.gotoNextPage(); 171 } 172 173 174 public Component addPage( Component page ) 175 { 176 return pagerPane.addPage( page ); 177 } 178 179 180 public void removePageAt( int index ) 181 { 182 pagerPane.removePageAt( index ); 183 } 184 185 186 public void removePage( Component page ) 187 { 188 pagerPane.removePage( page ); 189 } 190 191 192 public void removeAllPages() 193 { 194 pagerPane.removeAllPages(); 195 } 196 197 198 public JButton getApproveButton() 199 { 200 return bt_approve; 201 } 202 203 204 public String getApproveButtonText() 205 { 206 return bt_approve.getText(); 207 } 208 209 210 public void setApproveButtonText( String text ) 211 { 212 bt_approve.setText(text); 213 } 214 215 216 public String getApproveButtonToolTipText() 217 { 218 return bt_approve.getToolTipText(); 219 } 220 221 222 public void setApproveButtonToolTipText( String tooltip_text ) 223 { 224 bt_approve.setToolTipText(tooltip_text); 225 } 226 227 228 229 public JButton getCancelButton() 230 { 231 return bt_cancel; 232 } 233 234 235 public String getCancelButtonText() 236 { 237 return bt_cancel.getText(); 238 } 239 240 241 public void setCancelButtonText( String text ) 242 { 243 bt_cancel.setText(text); 244 } 245 246 247 public String getCancelButtonToolTipText() 248 { 249 return bt_cancel.getToolTipText(); 250 } 251 252 253 public void setCancelButtonToolTipText( String tooltip_text ) 254 { 255 bt_cancel.setToolTipText(tooltip_text); 256 } 257 258 261 public int getResponse() 262 { 263 return response; 264 } 265 266 267 public int showDialog() 268 { 269 setVisible(true); 270 return getResponse(); 271 } 272 273 277 278 279 public void actionPerformed( ActionEvent e ) 280 { 281 Object src = e.getSource(); 282 if ( src == bt_approve ) { 283 response = APPROVE_BUTTON; 284 setVisible(false); 285 dispose(); 286 } 287 else if ( src == bt_cancel ) { 288 response = CANCEL_BUTTON; 289 setVisible(false); 290 dispose(); 291 } 292 } 293 294 public void windowClosed(WindowEvent event) {} 295 public void windowDeiconified(WindowEvent event) {} 296 public void windowIconified(WindowEvent event) {} 297 public void windowActivated(WindowEvent event) {} 298 public void windowDeactivated(WindowEvent event) {} 299 public void windowOpened(WindowEvent event) {} 300 public void windowClosing(WindowEvent event) { setVisible(false); dispose(); } 301 302 public static void main( String [] args ) 303 { 304 JFrame frame = new JFrame("Pager Demonstration"); 305 frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); 306 307 PagerDialog dialog = new PagerDialog( frame, "PagerDialog"); 308 Pager pager = dialog.getPagerPane(); 309 310 pager.setPrevButtonToolTipText("go to previous item"); 311 pager.setNextButtonToolTipText("go to next item"); 312 pager.setHelpButtonToolTipText("call the lifeguard"); 313 dialog.setApproveButtonToolTipText("your approval"); 314 dialog.setCancelButtonToolTipText("dismiss this dialog"); 315 316 Font font = new Font( "Dialog", Font.BOLD, 24 ); 317 for (int q=0; q<10; ++q ) { 318 JPanel panel = new JPanel(); 319 panel.setLayout( new BorderLayout() ); 320 panel.setPreferredSize( new Dimension( 325, 200 )); 321 JButton button = new JButton("Page #"+q ); 322 panel.add(button, BorderLayout.CENTER ); 323 dialog.addPage(panel); 324 } 325 326 frame.pack(); 327 dialog.pack(); 329 int answer = dialog.showDialog(); 330 System.out.println("dialog response:"+answer); 331 System.exit(0); 332 } 333 334 335 336 337 } 338 339 | Popular Tags |