🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: cn.bbs.comp.lang.java
Article #21959

java2

#21959
From: ��ͤ
Date: Thu, 06 Nov 2003 17:13
233 lines
9654 bytes
 
/* 
 * @(#)OptionPaneDemo.java1.3 99/10/12 
 * 
 * Copyright (c) 1997-1999 by Sun Microsystems, Inc. All Rights Reserved. 
 *  
 * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use, 
 * modify and redistribute this software in source and binary code form, 
 * provided that i) this copyright notice and license appear on all copies of 
 * the software; and ii) Licensee does not utilize the software in a manner 
 * which is disparaging to Sun. 
 *  
 * This software is provided "AS IS," without a warranty of any kind. ALL 
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY 
 * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR 
 * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE 
 * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING 
 * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS 
 * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, 
 * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER 
 * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF 
 * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE 
 * POSSIBILITY OF SUCH DAMAGES. 
 *  
 * This software is not designed or intended for use in on-line control of 
 * aircraft, air traffic, aircraft navigation or aircraft communications; or in 
 * the design, construction, operation or maintenance of any nuclear 
 * facility. Licensee represents and warrants that it will not use or 
 * redistribute the Software for such purposes. 
 */ 
 
 
import javax.swing.*; 
import javax.swing.event.*; 
import javax.swing.text.*; 
import javax.swing.border.*; 
import javax.swing.colorchooser.*; 
import javax.swing.filechooser.*; 
import javax.accessibility.*; 
 
import java.awt.*; 
import java.awt.event.*; 
import java.beans.*; 
import java.util.*; 
import java.io.*; 
import java.applet.*; 
import java.net.*; 
 
/** 
 * JOptionPaneDemo 
 * 
 * @version 1.3 10/12/99 
 * @author Jeff Dinkins 
 */ 
public class OptionPaneDemo extends DemoModule { 
 
    /** 
     * main method allows us to run as a standalone demo. 
     */ 
    public static void main(String[] args) { 
OptionPaneDemo demo = new OptionPaneDemo(null); 
demo.mainImpl(); 
    } 
 
    /** 
     * OptionPaneDemo Constructor 
     */ 
    public OptionPaneDemo(SwingSet2 swingset) { 
// Set the title for this demo, and an icon used to represent this 
// demo inside the SwingSet2 app. 
super(swingset, "OptionPaneDemo", "toolbar/JOptionPane.gif"); 
 
JPanel demo = getDemoPanel(); 
 
demo.setLayout(new BoxLayout(demo, BoxLayout.X_AXIS)); 
 
JPanel bp = new JPanel() { 
   public Dimension getMaximumSize() { 
return new Dimension(getPreferredSize().width, super.getMaximumSize().height); 
   } 
}; 
bp.setLayout(new BoxLayout(bp, BoxLayout.Y_AXIS)); 
 
bp.add(Box.createRigidArea(VGAP30)); 
bp.add(Box.createRigidArea(VGAP30)); 
 
bp.add(createInputDialogButton());      bp.add(Box.createRigidArea(VGAP15)); 
bp.add(createWarningDialogButton());    bp.add(Box.createRigidArea(VGAP15)); 
bp.add(createMessageDialogButton());    bp.add(Box.createRigidArea(VGAP15)); 
bp.add(createComponentDialogButton());  bp.add(Box.createRigidArea(VGAP15)); 
bp.add(createConfirmDialogButton());    bp.add(Box.createVerticalGlue()); 
 
demo.add(Box.createHorizontalGlue()); 
demo.add(bp); 
demo.add(Box.createHorizontalGlue()); 
    } 
 
    public JButton createWarningDialogButton() { 
Action a = new AbstractAction(getString("OptionPaneDemo.warningbutton")) { 
   public void actionPerformed(ActionEvent e) { 
JOptionPane.showMessageDialog( 
   getDemoPanel(), 
   getString("OptionPaneDemo.warningtext"), 
   getString("OptionPaneDemo.warningtitle"), 
   JOptionPane.WARNING_MESSAGE 
); 
   } 
}; 
return createButton(a); 
    } 
 
    public JButton createMessageDialogButton() { 
Action a = new AbstractAction(getString("OptionPaneDemo.messagebutton")) { 
   URL img = getClass().getResource("/resources/images/optionpane/bottle.gif"); 
   String imagesrc = "<img src=\"" + img + "\" width=\˔\" height=\�h\">"; 
   String message = getString("OptionPaneDemo.messagetext"); 
   public void actionPerformed(ActionEvent e) { 
JOptionPane.showMessageDialog( 
   getDemoPanel(), 
   "<html>" + imagesrc + "<br><center>" + message + "</center><br></html>" 
); 
   } 
}; 
return createButton(a); 
    } 
 
    public JButton createConfirmDialogButton() { 
Action a = new AbstractAction(getString("OptionPaneDemo.confirmbutton")) { 
   public void actionPerformed(ActionEvent e) { 
                int result = JOptionPane.showConfirmDialog(getDemoPanel(), getString("OptionPaneDemo.confirmquestion")); 
                if(result == JOptionPane.YES_OPTION) { 
   JOptionPane.showMessageDialog(getDemoPanel(), getString("OptionPaneDemo.confirmyes")); 
} else if(result == JOptionPane.NO_OPTION) { 
                    JOptionPane.showMessageDialog(getDemoPanel(), getString("OptionPaneDemo.confirmno")); 
} 
   } 
}; 
return createButton(a); 
    } 
 
    public JButton createInputDialogButton() { 
Action a = new AbstractAction(getString("OptionPaneDemo.inputbutton")) { 
   public void actionPerformed(ActionEvent e) { 
                String result = JOptionPane.showInputDialog(getDemoPanel(), getString("OptionPaneDemo.inputquestion")); 
JOptionPane.showMessageDialog(getDemoPanel(), getString("OptionPaneDemo.inputresponse")); 
   } 
}; 
return createButton(a); 
    } 
 
    public JButton createComponentDialogButton() { 
Action a = new AbstractAction(getString("OptionPaneDemo.componentbutton")) { 
   public void actionPerformed(ActionEvent e) { 
// In a ComponentDialog, you can show as many message components and 
// as many options as you want: 
 
// Messages 
                Object[]      message = new Object[4]; 
                message[0] = getString("OptionPaneDemo.componentmessage"); 
                message[1] = new JTextField(getString("OptionPaneDemo.componenttextfield")); 
 
                JComboBox cb = new JComboBox(); 
                cb.addItem(getString("OptionPaneDemo.component_cb1")); 
                cb.addItem(getString("OptionPaneDemo.component_cb2")); 
                cb.addItem(getString("OptionPaneDemo.component_cb3")); 
                message[2] = cb; 
 
                message[3] = getString("OptionPaneDemo.componentmessage2"); 
 
// Options 
                String[] options = { 
   getString("OptionPaneDemo.component_op1"), 
   getString("OptionPaneDemo.component_op2"), 
   getString("OptionPaneDemo.component_op3"), 
   getString("OptionPaneDemo.component_op4"), 
   getString("OptionPaneDemo.component_op5") 
}; 
                int result = JOptionPane.showOptionDialog( 
   getDemoPanel(),                             // the parent that the dialog blocks 
   message,                                    // the dialog message array 
   getString("OptionPaneDemo.componenttitle"), // the title of the dialog window 
   JOptionPane.DEFAULT_OPTION,                 // option type 
   JOptionPane.INformATION_MESSAGE,            // message type 
   null,                                       // optional icon, use null to use the default icon 
   options,                                    // options string array, will be made into buttons 
   options[3]                                  // option that should be made into a default button 
); 
switch(result) { 
  case 0: // yes 
    JOptionPane.showMessageDialog(getDemoPanel(), getString("OptionPaneDemo.component_r1")); 
    break; 
  case 1: // no 
    JOptionPane.showMessageDialog(getDemoPanel(), getString("OptionPaneDemo.component_r2")); 
    break; 
  case 2: // maybe 
    JOptionPane.showMessageDialog(getDemoPanel(), getString("OptionPaneDemo.component_r3")); 
    break; 
  case 3: // probably 
    JOptionPane.showMessageDialog(getDemoPanel(), getString("OptionPaneDemo.component_r4")); 
    break; 
  default: 
    break; 
} 
 
   } 
}; 
return createButton(a); 
    } 

    public JButton createButton(Action a) { 
JButton b = new JButton() { 
   public Dimension getMaximumSize() { 
int width = Short.MAX_value; 
int height = super.getMaximumSize().height; 
return new Dimension(width, height); 
   } 
}; 
// setting the following client property informs the button to show 
// the action text as it's name. The default is to not show the 
// action text. 
b.putClientProperty("displayActionText", Boolean.TRUE); 
b.setAction(a); 
// b.setAlignmentX(JButton.CENTER_ALIGNMENT); 
return b; 
    } 
 
} 

 
 

--
�� ��Դ:����ɽ��Ժ BBS http://bbs.qxntc.edu.cn [FROM: 202.98.201.134]
Technical Details
Message-ID: <49AHhd$AGK@bbs.qxntc.edu.cn>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!elnk-pas-nf1!elnk-nf2-pas!newsfeed.earthlink.net!sjc70.webusenet.com!news.webusenet.com!news.bylinux.net!news.ccie.net.cn!dell.cs.uestc.edu.cn!QXNTC

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,GB
X-Google-Thread: f6cb0,bbae376f919712af,start
X-Google-Attributes: gidf6cb0,public
X-Google-ArrivalTime: 2003-11-06 10:00:05 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!elnk-pas-nf1!elnk-nf2-pas!newsfeed.earthlink.net!sjc70.webusenet.com!news.webusenet.com!news.bylinux.net!news.ccie.net.cn!dell.cs.uestc.edu.cn!QXNTC
From: yufeng.bbs@bbs.qxntc.edu.cn (��ͤ)
Newsgroups: cn.bbs.comp.lang.java
Subject: java2
Date: 06 Nov 2003 17:13:27 GMT
Organization: ��ɽ��Ժ_BBS
Message-ID: <49AHhd$AGK@bbs.qxntc.edu.cn>
Mime-Version: 1.0
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: 8bit
X-Filename: Java/M.1068138807.A
Lines: 233