Я хотел создать другую функцию для создания меню для Java-приложения.
В функции меню frame.pack()
для прослушивателей действий и frame.setJMenuBar
требуются операторы.
Так как жепередать кадр как объект в подкласс в качестве аргумента?Я получаю ошибки в
imports..
public class sjava {
public static void CreateAndRunGUI() {
final JFrame frame = new JFrame("MyFrame");
code..
MakeMenuBar(frame);
frame.pack();
frame.setVisible(true);
}
public static void MakeMenuBar(Object frame) {
JMenuBar menubar = new JMenuBar();
menubar.setBackground(new Color(180,160,130));
menubar.setOpaque(true);
menubar.setPreferredSize(new Dimension(800,20));
frame.setJMenuBar(menubar);
JMenu menu1 = new JMenu("menu1");
code..
mitem1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent a) {
code..
SwingUtilities.updateComponentTreeUI(frame);
frame.pack();
}
});
code..
mitem2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent a) {
code..
SwingUtilities.updateComponentTreeUI(frame);
frame.pack();
}
});
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
CreateAndRunGUI();
}
});
}
Можно ли использовать makemenubar
функцию без использования фрейма в качестве аргумента?