add menubar

This commit is contained in:
Thibaud Gasser 2025-02-19 12:15:39 +01:00
parent 55e74b5e4b
commit 75bd5997df
2 changed files with 21 additions and 4 deletions

View File

@ -17,12 +17,19 @@ public class App {
final JFrame frame = new JFrame("Reactive shapes");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
buildModel();
final ShapesView view = new ShapesView(this.model);
view.setPreferredSize(WIN_SIZE);
view.setFocusable(true);
var res = view.requestFocusInWindow();
assert res;
frame.getContentPane().add(view, BorderLayout.CENTER);
frame.setContentPane(view);
frame.pack();
frame.setVisible(true);
this.buildMenuBar(frame);
}
private void buildModel() {
@ -37,6 +44,20 @@ public class App {
);
}
private void buildMenuBar(JFrame frame) {
var menubar = new JMenuBar();
var helpMenu = new JMenu("Help");
var aboutItem = new JMenuItem("About");
aboutItem.addActionListener(actionEvent -> {
JOptionPane.showMessageDialog(frame, "New shapes");
});
helpMenu.add(aboutItem);
menubar.add(helpMenu);
frame.setJMenuBar(menubar);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(App::new);
}

View File

@ -39,10 +39,6 @@ public class Controller {
};
this.view.addMouseMotionListener(adapter);
this.view.addMouseListener(adapter);
this.view.setFocusable(true);
boolean res = this.view.requestFocusInWindow();
assert res;
this.view.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {