Индивидуальный дизайн кнопок «Закрыть / Свернуть» в JFrame

Я хотел бы применить свои собственные кнопки закрытия и минимизации. Есть ли способ изменитьJFrame дизайн?

 pengibot06 июн. 2012 г., 13:38
думаю, что вы после JWindowdocs.oracle.com/javase/7/docs/api/javax/swing/JWindow.html
 PulsePanda03 окт. 2012 г., 04:50
пожалуйста, сделайте еще несколько исследований в первую очередь?
 BDeveloper06 июн. 2012 г., 13:28
в чем проблема ...
 BDeveloper07 июн. 2012 г., 16:22
Спасибо, Эндрю, я сделаю это в следующий раз.

Ответы на вопрос(4)

Решение Вопроса

Хитрость заключается вPLAF а такжеsetDefaultLookAndFeelDecorated(true) (Указание декораций окна).

НАПРИМЕР.

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();
            }
        });
    }
}
Set jframe undecorated. Place a jlabel for each button. Put own icon for each Btn. Put mouseListeners for each jlabel and specify code eg, System.exit(0);/set ICONIFIED option
 29 дек. 2013 г., 13:51
это не имеет никакого отношения к LaF 's. Это индивидуальный способ! Для получения дополнительной информации перейдите на канал Vertex Digital Arts на YouTube

думаю, что вы после JWindow

http://docs.oracle.com/javase/7/docs/api/javax/swing/JWindow.html

Затем вы можете создать свои собственные кнопки, действия которых могут свернуть / закрыть ваше окно.

 06 июн. 2012 г., 13:48
нет, пользовательский графический интерфейс может быть любым, вы хотите, вы переопределяете их и внедряете их так, как хотите, и применяете свой собственный внешний вид и стиль того, как вы хотите, чтобы он выглядел
 06 июн. 2012 г., 18:04
Вы также можете перерабатывать соответствующие значки внутренней рамки, как показаноhere.
 BDeveloper06 июн. 2012 г., 13:45
это означает, что все пользовательские интерфейсы JWindows
 06 июн. 2012 г., 13:49
если вы хотите использовать JFrame, вы все равно можете использовать JFrame.setDefaultLookAndFeelDecorated (true); рекурсивно избавиться от кнопок закрытия / сворачивания и т. д., хотя было бы немного больше работы

Единственное, что мне известно, - это добавитьWindowListener кJFrame и обрабатывать закрывающие события в этом слушателе. Вы можете сделать практически все, например, отображение диалогов или даже отменить закрытиеJFrame.

Видеть эторуководство подробнее о том, как писать такие слушатели.

Что касается минимизации: насколько я знаю, нет способа контролировать или изменять такое поведение, он полностью контролируется операционной системой.

Единственный способ изменить аспект кнопок минимизации / закрытия / максимизации - это использовать пользовательский LookAndFeel и настройкиJFrame.setDefaultLookAndFeelDecorated (true);.

 BDeveloper06 июн. 2012 г., 13:44
подробнее есть что-то работает как шаблоны ??!
 BDeveloper06 июн. 2012 г., 13:42
Я не хочу менять обработчики событий ... Я хочу изменить его изображение, фон, макет основного фрейма приложения?

Ваш ответ на вопрос