⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toolbardemo2.java

📁 java tutorial.sun公司官方出品。java入门书籍。最新版
💻 JAVA
字号:
/* * Copyright (c) 1995 - 2008 Sun Microsystems, Inc.  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * *   - Redistributions of source code must retain the above copyright *     notice, this list of conditions and the following disclaimer. * *   - Redistributions in binary form must reproduce the above copyright *     notice, this list of conditions and the following disclaimer in the *     documentation and/or other materials provided with the distribution. * *   - Neither the name of Sun Microsystems nor the names of its *     contributors may be used to endorse or promote products derived *     from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package components;/* * ToolBarDemo2.java requires the following addditional files: * images/Back24.gif * images/Forward24.gif * images/Up24.gif */import javax.swing.JToolBar;import javax.swing.JButton;import javax.swing.ImageIcon;import javax.swing.JTextField;import javax.swing.JFrame;import javax.swing.JTextArea;import javax.swing.JScrollPane;import javax.swing.JPanel;import javax.swing.UIManager;import javax.swing.SwingUtilities;import java.net.URL;import java.awt.BorderLayout;import java.awt.Dimension;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class ToolBarDemo2 extends JPanel                          implements ActionListener {    protected JTextArea textArea;    protected String newline = "\n";    static final private String PREVIOUS = "previous";    static final private String UP = "up";    static final private String NEXT = "next";    static final private String SOMETHING_ELSE = "other";    static final private String TEXT_ENTERED = "text";    public ToolBarDemo2() {        super(new BorderLayout());        //Create the toolbar.        JToolBar toolBar = new JToolBar("Still draggable");        addButtons(toolBar);        toolBar.setFloatable(false);        toolBar.setRollover(true);        //Create the text area used for output.  Request        //enough space for 5 rows and 30 columns.        textArea = new JTextArea(5, 30);        textArea.setEditable(false);        JScrollPane scrollPane = new JScrollPane(textArea);        //Lay out the main panel.        setPreferredSize(new Dimension(450, 130));        add(toolBar, BorderLayout.PAGE_START);        add(scrollPane, BorderLayout.CENTER);    }    protected void addButtons(JToolBar toolBar) {        JButton button = null;        //first button        button = makeNavigationButton("Back24", PREVIOUS,                                      "Back to previous something-or-other",                                      "Previous");        toolBar.add(button);        //second button        button = makeNavigationButton("Up24", UP,                                      "Up to something-or-other",                                      "Up");        toolBar.add(button);        //third button        button = makeNavigationButton("Forward24", NEXT,                                      "Forward to something-or-other",                                      "Next");        toolBar.add(button);        //separator        toolBar.addSeparator();        //fourth button        button = new JButton("Another button");        button.setActionCommand(SOMETHING_ELSE);        button.setToolTipText("Something else");        button.addActionListener(this);        toolBar.add(button);        //fifth component is NOT a button!        JTextField textField = new JTextField("A text field");        textField.setColumns(10);        textField.addActionListener(this);        textField.setActionCommand(TEXT_ENTERED);        toolBar.add(textField);    }    protected JButton makeNavigationButton(String imageName,                                           String actionCommand,                                           String toolTipText,                                           String altText) {        //Look for the image.        String imgLocation = "images/"                             + imageName                             + ".gif";        URL imageURL = ToolBarDemo2.class.getResource(imgLocation);        //Create and initialize the button.        JButton button = new JButton();        button.setActionCommand(actionCommand);        button.setToolTipText(toolTipText);        button.addActionListener(this);        if (imageURL != null) {                      //image found            button.setIcon(new ImageIcon(imageURL, altText));        } else {                                     //no image found            button.setText(altText);            System.err.println("Resource not found: "                               + imgLocation);        }        return button;    }    public void actionPerformed(ActionEvent e) {        String cmd = e.getActionCommand();        String description = null;        // Handle each button.        if (PREVIOUS.equals(cmd)) { //first button clicked            description = "taken you to the previous <something>.";        } else if (UP.equals(cmd)) { // second button clicked            description = "taken you up one level to <something>.";        } else if (NEXT.equals(cmd)) { // third button clicked            description = "taken you to the next <something>.";        } else if (SOMETHING_ELSE.equals(cmd)) { // fourth button clicked            description = "done something else.";        } else if (TEXT_ENTERED.equals(cmd)) { // text field            JTextField tf = (JTextField)e.getSource();            String text = tf.getText();            tf.setText("");            description = "done something with this text: "                          + newline + "  \""                          + text + "\"";        }        displayResult("If this were a real app, it would have "                        + description);    }    protected void displayResult(String actionDescription) {        textArea.append(actionDescription + newline);        textArea.setCaretPosition(textArea.getDocument().getLength());    }    /**     * Create the GUI and show it.  For thread safety,     * this method should be invoked from the     * event dispatch thread.     */    private static void createAndShowGUI() {        //Create and set up the window.        JFrame frame = new JFrame("ToolBarDemo2");        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        //Add content to the window.        frame.add(new ToolBarDemo2());        //Display the window.        frame.pack();        frame.setVisible(true);    }    public static void main(String[] args) {	//Schedule a job for the event dispatch thread:        //creating and showing this application's GUI.        SwingUtilities.invokeLater(new Runnable() {            public void run() {                //Turn off metal's use of bold fonts	        UIManager.put("swing.boldMetal", Boolean.FALSE);	       	createAndShowGUI();            }        });    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -