顶级菜单(关闭,最小化,最大化)Java

时间:2012-08-10 16:20:22

标签: java swing menu toolbar look-and-feel

如何更改ToolBar的外观,顶部菜单(关闭按钮,最小化,最大化)

是否有可能想要改变一些事情? (添加,删除按钮,指定背景) 创建它需要什么导入?

2 个答案:

答案 0 :(得分:2)

你可以设置一个JButton的背景图片,你可以看一下:Swing Tutorial: JButton,它显示使用new JButton(String text,ImageIcon imgIco)创建一个JButton ImageIconString

设置背景和文字的颜色,您可以使用setBackground(Color c)setForeground(Color c)

或者只需通过设置适当的支持Look and Feel来定制外观和感觉配色方案,然后change the color scheme/size etc of its components可以为每个组件更改数百种内容,请参阅this

自定义 退出最小化最大化工具栏按钮,这也可以使用外观(Custom design for Close/Minimize buttons on JFrame):

Metal Windows

import java.awt.BorderLayout;
import javax.swing.*;

public class FrameCloseButtonsByLookAndFeel {

    FrameCloseButtonsByLookAndFeel() {
        String[] names = {
                UIManager.getSystemLookAndFeelClassName(), 
                UIManager.getCrossPlatformLookAndFeelClassName()
        };
        for (String name : names) {
            try {
                UIManager.setLookAndFeel(name);
            } catch (Exception e) {
                e.printStackTrace();
            }
            // very important to get the window decorations.
            JFrame.setDefaultLookAndFeelDecorated(true);
            JFrame f = new JFrame(UIManager.getLookAndFeel().getName());
            f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

            JPanel gui = new JPanel(new BorderLayout());
            f.setContentPane(gui);

            JTree tree = new JTree();
            tree.setVisibleRowCount(4);
            gui.add(tree, BorderLayout.LINE_START);

            gui.add(new JScrollPane(new JTextArea(3,15)));

            JToolBar toolbar = new JToolBar();
            gui.add(toolbar, BorderLayout.PAGE_START);
            for (int ii=1; ii<5; ii++) {
                toolbar.add(new JButton("Button " + ii));
                if (ii%2==0) {
                    toolbar.addSeparator();
                }
            }

            f.pack();

            f.setLocationByPlatform(true);
            f.setVisible(true);
        }
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new FrameCloseButtonsByLookAndFeel();
            }
        });
    }
}

答案 1 :(得分:0)

更改框架标题栏外观的最简单方法是在创建框架之前设置外观。 可能这就是你要找的东西 - http://www.jtattoo.net/ScreenShots.html