Index: NbPresenter.java =================================================================== RCS file: /cvs/core/src/org/netbeans/core/NbPresenter.java,v --- NbPresenter.java 17 Jan 2002 17:25:22 -0000 1.52.4.2 +++ NbPresenter.java 4 Apr 2002 15:03:46 -0000 @@ -70,6 +70,8 @@ private final static String CANCEL_COMMAND = "Cancel"; // NOI18N private Component currentMessage; + private JScrollPane currentScrollPane; + private JPanel currentButtonsPanel; private Component[] currentPrimaryButtons; private Component[] currentSecondaryButtons; @@ -227,13 +229,41 @@ } else { currentMessage = createOptionPane(); } + Dimension size = currentMessage.getPreferredSize(); + final Dimension screenSize = Utilities.getScreenSize(); + + if (size.width > screenSize.width - 100 + || size.height > screenSize.height- 100 + ) { + currentScrollPane = new JScrollPane() { + public Dimension getPreferredSize() { + Dimension sz = new Dimension(super.getPreferredSize()); + if (sz.width > screenSize.width - 100) { + sz.width = screenSize.width * 3 / 4; + } + if (sz.height > screenSize.height - 100) + sz.height = screenSize.height * 3 / 4; + return sz; + } + }; + currentScrollPane.setViewportView(currentMessage); + getContentPane().add(currentScrollPane, BorderLayout.CENTER); + } + else { getContentPane().add(currentMessage, BorderLayout.CENTER); } } + } private void uninitializeMessage() { if (currentMessage != null) { + if (currentScrollPane != null) { + getContentPane().remove(currentScrollPane); + currentScrollPane = null; + } + else { getContentPane().remove(currentMessage); + } currentMessage = null; } }