001 /*
002 * Copyright 2002-2006 the original author or authors.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
005 * use this file except in compliance with the License. You may obtain a copy of
006 * the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
012 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
013 * License for the specific language governing permissions and limitations under
014 * the License.
015 */
016 package org.springframework.richclient.dialog;
017
018 import java.awt.BorderLayout;
019 import java.awt.event.ActionEvent;
020 import java.awt.event.ActionListener;
021 import java.util.Locale;
022
023 import javax.swing.JButton;
024 import javax.swing.JFrame;
025 import javax.swing.JScrollPane;
026 import javax.swing.JTextArea;
027 import javax.swing.UIManager;
028
029 import org.springframework.context.support.StaticApplicationContext;
030 import org.springframework.richclient.application.Application;
031 import org.springframework.richclient.application.config.DefaultApplicationLifecycleAdvisor;
032
033 public class MessageDialogSample {
034
035 public static void main( String[] args ) throws Exception {
036 UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );
037
038 final JFrame frame = new JFrame( "test" );
039 JButton openButton = new JButton( "open dialog" );
040 final JTextArea textField = new JTextArea( 8, 40 );
041 textField.setLineWrap( true );
042 textField.setWrapStyleWord( true );
043 textField.setText( "This is the first line.\n"
044 + "This is the second line which is also much longer. "
045 + "This is to check if the linewrapping occurs correctly. "
046 + "Try resizing the frame to see how the MessageDialog behaves." );
047 frame.add( new JScrollPane( textField ) );
048 frame.add( openButton, BorderLayout.SOUTH );
049 frame.pack();
050
051 frame.setLocationRelativeTo( null );
052 frame.setVisible( true );
053 frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
054
055 openButton.addActionListener( new ActionListener() {
056 public void actionPerformed( ActionEvent e ) {
057 MessageDialog dialog = new MessageDialog( "Message", frame, textField.getText() );
058 dialog.setMinimumWidth( 300 );
059 dialog.showDialog();
060 }
061 } );
062
063 // load dummy application
064 Application.load( null );
065 new Application( new DefaultApplicationLifecycleAdvisor() );
066 StaticApplicationContext applicationContext = new StaticApplicationContext();
067 Application.instance().setApplicationContext( applicationContext );
068 applicationContext.getStaticMessageSource().addMessage( "okCommand.label", Locale.getDefault(), "Ok" );
069 applicationContext.refresh();
070 }
071 }