использовать reset --soft origin /, это вернет исходную головку и даст вам возможность работать с изменениями. они могут быть отброшены или
Не уверен, что вы ищете, но вы можете добавить JMenuBar
в JFrame
- JFrame.setJMenuBar () . Подробнее см. Как использовать меню .
Редактировать:
Ниже приведен слишком упрощенный пример неупорядоченного фрейма с меню, просто для демонстрации идеи.
Вы можете обратиться к существующим решениям - для этой цели JIDE имеет ResizableFrame
. Это часть открытого источника JIDE-oss . Вещество L & amp; F поддерживает настройку заголовка (см. Что случилось с веществом LaF? ). Вы также можете очень эффективно использовать классы ComponentMover
и ComponentResizer
by @camickr, см. Статью Resizing Components для более подробной информации.
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class UndecoratedFrameDemo {
private static Point point = new Point();
public static void main(String[] args) {
final JFrame frame = new JFrame();
frame.setUndecorated(true);
frame.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
point.x = e.getX();
point.y = e.getY();
}
});
frame.addMouseMotionListener(new MouseMotionAdapter() {
public void mouseDragged(MouseEvent e) {
Point p = frame.getLocation();
frame.setLocation(p.x + e.getX() - point.x,
p.y + e.getY() - point.y);
}
});
frame.setSize(300, 300);
frame.setLocation(200, 200);
frame.setLayout(new BorderLayout());
frame.getContentPane().add(new JLabel("Drag to move", JLabel.CENTER),
BorderLayout.CENTER);
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("Menu");
menuBar.add(menu);
JMenuItem item = new JMenuItem("Exit");
item.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
menu.add(item);
frame.setJMenuBar(menuBar);
frame.setVisible(true);
}
}
Я сделал несколько копаний, а короткий ответ - нет.
В основном оформление кадра отключено от ОС, поэтому у нас нет никакого доступа к его содержимому.
Однако, если вы хотите много работать, вы можете реализовать свое собственное оформление. Вы должны взять на себя ответственность за изменение размера и перемещение.
Возможно, вы захотите проверить
http://java-swing-tips.blogspot.com.au/ 2010/05 / custom-decoration-titlebar-jframe.html и http://www.paulbain.com/2009/10/13/howto-draggabe-jframe-without-decoration/ для идей
Попробуйте это ...
Добавление JMenuBar в JFrame
JMenuBar menuBar = new JMenuBar();
myFrame.setJMenuBar(menuBar);
Добавление JMenuBar в JPanel
JMenuBar menuBar = new JMenuBar();
myPanel.add(menuBar);
См. это JMenuBar Tutorial link для получения дополнительной информации по этой теме.