首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

高分求用Java如何作工具栏?解决后再加分

2012-01-16 
高分求用Java怎么作工具栏?解决后再加分!用Java怎么作工具栏?最好是工具栏用|来分隔各种工具栏图标! (这个

高分求用Java怎么作工具栏?解决后再加分!
用Java怎么作工具栏?
最好是工具栏用|来分隔各种工具栏图标! (这个可选)
给点提示或意见都可!


[解决办法]
呵呵,你得自己继承一个JButton,我以前做过这个东西,基本是自己覆盖paint方法画了一个,不过建议你去网上找找现成的代码片段修改一下。
[解决办法]
Swing不是有JToolBar.按需要应用啊
[解决办法]
JToolBar只是个Button的容器,这个问题的重点在于楼主的button,直接用JButton弄几个icon上去的效果很恶心,我以前试过。
[解决办法]
Eclipse的workbench
[解决办法]

Java code
import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.InputEvent;import java.awt.event.KeyEvent;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.AbstractAction;import javax.swing.Action;import javax.swing.ButtonGroup;import javax.swing.JCheckBoxMenuItem;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.JPopupMenu;import javax.swing.JRadioButtonMenuItem;import javax.swing.JTextField;import javax.swing.JToolBar;import javax.swing.KeyStroke;public class MenuUseDemo extends JFrame {    public static final int WIDTH = 250;    public static final int HEIGHT = 200;    private JMenuItem newItem;    private JMenuItem openItem;    private JMenuItem closeItem;    private JMenuItem saveItem;    private JMenuItem cutItem;    private JMenuItem copyItem;    private JMenuItem pasteItem;    private JMenuItem cutItemPop;    private JMenuItem copyItemPop;    private JMenuItem pasteItemPop;    private JRadioButtonMenuItem forwardItem;    private JRadioButtonMenuItem backwardItem;    private JPopupMenu popup;    private JTextField myTextField;    public MenuUseDemo() {        setTitle("MenuUseDemo");        setSize(WIDTH, HEIGHT);        Container contentPane = getContentPane();        JPanel textPanel = new JPanel();        // 创建显示菜单操作的文本区        myTextField = new JTextField("", 20);        textPanel.add(myTextField);        contentPane.add(textPanel);        // 创建菜单栏,并将菜单栏加入到框架中        JMenuBar menuBar = new JMenuBar();        setJMenuBar(menuBar);        // 创建菜单及菜单项,并添加快捷键和加速器        // “File”菜单        JMenu fileMenu = new JMenu("File");        // 设置菜单的快捷键        fileMenu.setMnemonic('F');        // 新建“New”菜单项,并添加共用的事件监听器        newItem = fileMenu.add(new ShowAction("New"));        // 设置菜单项的加速器        newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,                InputEvent.CTRL_MASK));        // 新建“Open”菜单项和监听器        openItem = fileMenu.add(new ShowAction("Open"));        openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,                InputEvent.CTRL_MASK));        // 增加分隔线        fileMenu.addSeparator();        // 新建“Save”菜单项和监听器        saveItem = fileMenu.add(new ShowAction("Save"));        saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,                InputEvent.CTRL_MASK));        // 初始设置“Save”菜单项为禁用状态        saveItem.setEnabled(false);        // 新建“Close”菜单项和监听器        closeItem = fileMenu.add(new ShowAction("Close"));        closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L,                InputEvent.CTRL_MASK));        closeItem.setEnabled(false);        fileMenu.addSeparator();        // 新建“Exit”菜单项和监听器        JMenuItem exitItem = new JMenuItem("Exit", 'T');        exitItem.addActionListener(new AbstractAction("Exit") {            public void actionPerformed(ActionEvent event) {                System.exit(0);            }        });        exitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T,                InputEvent.CTRL_MASK));        fileMenu.add(exitItem);        // “Edit”菜单        JMenu editMenu = new JMenu("Edit");        // 设置菜单的快捷键        editMenu.setMnemonic('E');        // 新建“Cut”菜单项和监听器        cutItem = new JMenuItem("Cut", 'C');        editMenu.add(cutItem);        // 添加事件监听器        cutItem.addActionListener(new ShowAction("Cut"));        cutItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,                InputEvent.CTRL_MASK));        cutItem.setEnabled(false);        // 新建“Copy”菜单项和监听器        copyItem = new JMenuItem("Copy", 'Y');        copyItem.addActionListener(new ShowAction("Copy"));        copyItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Y,                InputEvent.CTRL_MASK));        copyItem.setEnabled(false);        // 新建“Paste”菜单项和监听器        pasteItem = new JMenuItem("Paste", 'P');        pasteItem.addActionListener(new ShowAction("Paste"));        pasteItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,                InputEvent.CTRL_MASK));        pasteItem.setEnabled(false);        editMenu.add(copyItem);        editMenu.add(pasteItem);        // “Search”菜单        JMenu searchMenu = new JMenu("Search");        searchMenu.setMnemonic('S');        // 创建单选按钮菜单项“Forward”和“Backward”        ButtonGroup group = new ButtonGroup();        forwardItem = new JRadioButtonMenuItem("Forward");        forwardItem.addActionListener(new ShowAction("Forward"));        forwardItem.setSelected(true);        forwardItem.setEnabled(false);        backwardItem = new JRadioButtonMenuItem("Backward");        backwardItem.addActionListener(new ShowAction("Backward"));        backwardItem.setEnabled(false);        group.add(forwardItem);        group.add(backwardItem);        searchMenu.add(forwardItem);        searchMenu.add(backwardItem);        // "View"菜单        JMenu viewMenu = new JMenu("View");        viewMenu.setMnemonic('V');        // 创建子菜单        JMenu optionMenu = new JMenu("Option");        optionMenu.setMnemonic('O');        // 创建复选框菜单项“ToolBar”和“Status”        JCheckBoxMenuItem toolItem = new JCheckBoxMenuItem("ToolBar");        JCheckBoxMenuItem statusItem = new JCheckBoxMenuItem("Status");        toolItem.addActionListener(new ShowAction("ToolBar"));        statusItem.addActionListener(new ShowAction("Status"));        // 将菜单项添加到子菜单中        optionMenu.add(toolItem);        optionMenu.add(statusItem);        // 将子菜单添加到“View”菜单中        viewMenu.add(optionMenu);        // 将菜单加入到菜单栏中        menuBar.add(fileMenu);        menuBar.add(editMenu);        menuBar.add(searchMenu);        menuBar.add(viewMenu);        // 弹出式菜单        popup = new JPopupMenu();        // 新建弹出式菜单中的“Cut”菜单项和监听器        cutItemPop = new JMenuItem("Cut", 'C');        cutItemPop.addActionListener(new ShowAction("CutPop"));        cutItemPop.setEnabled(false);        // 新建弹出式菜单中的“Copy”菜单项和监听器        copyItemPop = new JMenuItem("Copy", 'Y');        copyItemPop.addActionListener(new ShowAction("CopyPop"));        copyItemPop.setEnabled(false);        // 新建弹出式菜单中的“Paste”菜单项和监听器        pasteItemPop = new JMenuItem("Paste", 'P');        pasteItemPop.addActionListener(new ShowAction("PastePop"));        pasteItemPop.setEnabled(false);        popup.add(cutItemPop);        popup.add(copyItemPop);        popup.add(pasteItemPop);        // 实现弹出式菜单的弹出触发器        getContentPane().addMouseListener(new MouseAdapter() {            public void mouseReleased(MouseEvent event) {                if (event.isPopupTrigger())                    // 指定弹出式菜单的父组件以及显示位置                    popup                            .show(event.getComponent(), event.getX(), event                                    .getY());            }        });    }    // 菜单项的共用事件监听器    private class ShowAction extends AbstractAction {        public ShowAction(String name) {            super(name);        }        public void actionPerformed(ActionEvent event) {            // 实现菜单项的启用和禁用控制            if (event.getSource() == newItem || event.getSource() == openItem) {                saveItem.setEnabled(true);                closeItem.setEnabled(true);                cutItem.setEnabled(true);                copyItem.setEnabled(true);                pasteItem.setEnabled(true);                forwardItem.setEnabled(true);                backwardItem.setEnabled(true);                cutItemPop.setEnabled(true);                copyItemPop.setEnabled(true);                pasteItemPop.setEnabled(true);            }            if (event.getSource() == closeItem) {                saveItem.setEnabled(false);                closeItem.setEnabled(false);                cutItem.setEnabled(false);                copyItem.setEnabled(false);                pasteItem.setEnabled(false);                forwardItem.setEnabled(false);                backwardItem.setEnabled(false);                cutItemPop.setEnabled(false);                copyItemPop.setEnabled(false);                pasteItemPop.setEnabled(false);            }            // 在文本域中显示菜单选择结果            myTextField.setText(getValue(Action.NAME) + " selected.");        }    }    public static void main(String[] args) {        MenuUseDemo frame = new MenuUseDemo();        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        frame.setVisible(true);    }} 


[解决办法]
上面是菜单使用示例,下面是工具栏使用示例.应该对你有帮助.

Java code
import java.awt.BorderLayout; 
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JToolBar;

public class JToolBarUseDemo extends JPanel implements ActionListener {

private JTextArea textArea;

private static String NEW = "new";

private static String OPEN = "open";

private static String SAVE = "save";

private static String SEARCH = "search";

public JToolBarUseDemo() {
super(new BorderLayout());

// 创建工具栏。
JToolBar toolBar = new JToolBar();
// 在工具栏上安放按钮
addButtons(toolBar);

// 为了显示输入创立文本域.
textArea = new JTextArea(5, 30);
textArea.setEditable(false);
// 为文本域添加滑动块
JScrollPane scrollPane = new JScrollPane(textArea);

// 安放组件
setPreferredSize(new Dimension(450, 110));
add(toolBar, BorderLayout.PAGE_START);
add(scrollPane, BorderLayout.CENTER);
}

protected void addButtons(JToolBar toolBar) {
JButton button = null;

// 新建按钮
button = makeButton("New", NEW, "新建", NEW);
toolBar.add(button);
// 打开按钮
button = makeButton("Open", OPEN, "打开", OPEN);
toolBar.add(button);
// 保存按钮
button = makeButton("Save", SAVE, "保存", SAVE);
toolBar.add(button);
// 搜索按钮
button = makeButton("Search", SEARCH, "搜索", SEARCH);
toolBar.add(button);
}

protected JButton makeButton(String imageName, String actionCommand,
String toolTipText, String altText) {

String imgLocation = "chapter11\\" + imageName + ".gif";

// 创建并初始化按钮
JButton button = new JButton();
// 按钮触发的命令字符
button.setActionCommand(actionCommand);
// 按钮提示信息
button.setToolTipText(toolTipText);
// 给按钮添加事件
button.addActionListener(this);

button.setIcon(new ImageIcon(imgLocation));

return button;
}

// 实现事件监听方法。获取点击的工具。
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
String description = null;

// 处理工具按钮
if (NEW.equals(cmd)) {
description = " <" + NEW + ">工具按钮";
} else if (OPEN.equals(cmd)) {
description = " <" + OPEN + ">工具按钮";
} else if (SAVE.equals(cmd)) {
description = " <" + SAVE + ">工具按钮";
} else if (SEARCH.equals(cmd)) {
description = " <" + SEARCH + ">工具按钮";
}
// 向文本域中添加信息
textArea.append(description + "\n");
}

public static void main(String[] args) {
// 设置窗体的属性
JFrame frame = new JFrame("JToolBarUseDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建面板
JToolBarUseDemo newPane = new JToolBarUseDemo();
newPane.setOpaque(true);
frame.setContentPane(newPane);
// 显示窗体
frame.pack();
frame.setVisible(true);
}

}

热点排行