如何使 JFrame 和 JMenubar 不在 public static void main(String[] args)
How to make JFrame and JMenubar not in public static void main(String[] args)
这是我第一次在此站点上寻求帮助。我需要从 public static void main(String[] args).
移动 JFrame 和 JMenubar
public static void main(String[] args){
ResourceBundle res = ResourceBundle.getBundle("georglider.grandom.lang.lang");
JFrame F = new JFrame(res.getString("GRandom"));
F.setContentPane(new GRandom().JP1);
F.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
F.pack();
F.setVisible(true);
F.setSize(300,163);
F.setResizable(false);
JMenuBar gmenu = new JMenuBar();
JMenu Mode = new JMenu("Режим");
JMenu Display = new JMenu("После генерации");
JMenu GenerateOptions = new JMenu("Опции для генерации");
gmenu.add(Mode);
gmenu.add(Display);
gmenu.add(GenerateOptions);
Icon dicon = new Icon() {
@Override
public void paintIcon(Component c, Graphics g, int x, int y) {
}
@Override
public int getIconWidth() {
return 0;
}
@Override
public int getIconHeight() {
return 0;
}
};
//M = Menu | D = Display | GO = GenerateOptions
JRadioButtonMenuItem Mnumbers = new JRadioButtonMenuItem("Генерировать числа",dicon,true);
Mnumbers.setActionCommand("Mnumbers");
JRadioButtonMenuItem Mstring = new JRadioButtonMenuItem("Генерировать заданные строки");
Mstring.setActionCommand("Mstring");
JRadioButtonMenuItem Ddefault = new JRadioButtonMenuItem("По умолчанию",dicon,true);
Ddefault.setActionCommand("Ddefault");
JRadioButtonMenuItem Dopen = new JRadioButtonMenuItem("Открыть файл");
Dopen.setActionCommand("Dopen");
JRadioButtonMenuItem Dshowhere = new JRadioButtonMenuItem("Показать здесь");
Dshowhere.setActionCommand("Dshowhere");
JRadioButtonMenuItem GOninclude = new JRadioButtonMenuItem("Не включать числа");
Dshowhere.setActionCommand("GOninclude");
Mode.add(Mnumbers);
Mode.add(Mstring);
Display.add(Ddefault);
Display.add(Dopen);
Display.add(Dshowhere);
GenerateOptions.add(GOninclude);
F.setJMenuBar(gmenu);
}
这是代码,我需要从 public static void main(String[] args)
我试图将其移动到 GRandom() class(它是主要的 class)并使 public static void main(String[] args) 看起来像这样:
public static void main(String[] args)
{
JFrame.setDefaultLookAndFeelDecorated(true);
new JMenuTest();
}
运行没有任何错误,但没有任何显示:(
请帮帮我,如何将它移动到 GRandom() class,或者制作另一个
这是一种方法。
这有助于将您的代码分成多个方法。这样,您可以一次专注于 GUI 的一部分。
必须按特定顺序调用 JFrame 方法。这是我在所有 Swing 应用程序中使用的顺序。
我不得不为此在我的计算机上 运行 注释掉一些代码。
import java.awt.Component;
import java.awt.Graphics;
import java.util.ResourceBundle;
import javax.swing.Icon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.SwingUtilities;
public class JFrameExample implements Runnable {
public static void main(String[] args) {
SwingUtilities.invokeLater(new JFrameExample());
}
@Override
public void run() {
// ResourceBundle res = ResourceBundle.getBundle(
// "georglider.grandom.lang.lang");
// JFrame frame = new JFrame(res.getString("GRandom"));
JFrame frame = new JFrame("JFrame Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setJMenuBar(createMenu());
frame.pack();
frame.setSize(400, 200);
frame.setResizable(false);
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
private JMenuBar createMenu() {
JMenuBar gmenu = new JMenuBar();
JMenu Mode = new JMenu("Режим");
JMenu Display = new JMenu("После генерации");
JMenu GenerateOptions = new JMenu("Опции для генерации");
// M = Menu | D = Display | GO = GenerateOptions
JRadioButtonMenuItem Mnumbers =
new JRadioButtonMenuItem("Генерировать числа",
createIcon(), true);
Mnumbers.setActionCommand("Mnumbers");
JRadioButtonMenuItem Mstring =
new JRadioButtonMenuItem(
"Генерировать заданные строки");
Mstring.setActionCommand("Mstring");
JRadioButtonMenuItem Ddefault =
new JRadioButtonMenuItem("По умолчанию",
createIcon(), true);
Ddefault.setActionCommand("Ddefault");
JRadioButtonMenuItem Dopen =
new JRadioButtonMenuItem("Открыть файл");
Dopen.setActionCommand("Dopen");
JRadioButtonMenuItem Dshowhere =
new JRadioButtonMenuItem("Показать здесь");
Dshowhere.setActionCommand("Dshowhere");
JRadioButtonMenuItem GOninclude =
new JRadioButtonMenuItem("Не включать числа");
Dshowhere.setActionCommand("GOninclude");
Mode.add(Mnumbers);
Mode.add(Mstring);
Display.add(Ddefault);
Display.add(Dopen);
Display.add(Dshowhere);
GenerateOptions.add(GOninclude);
gmenu.add(Mode);
gmenu.add(Display);
gmenu.add(GenerateOptions);
return gmenu;
}
private Icon createIcon() {
Icon dicon = new Icon() {
@Override
public void paintIcon(Component c,
Graphics g, int x, int y) {
}
@Override
public int getIconWidth() {
return 0;
}
@Override
public int getIconHeight() {
return 0;
}
};
return dicon;
}
}
这是我第一次在此站点上寻求帮助。我需要从 public static void main(String[] args).
移动 JFrame 和 JMenubar public static void main(String[] args){
ResourceBundle res = ResourceBundle.getBundle("georglider.grandom.lang.lang");
JFrame F = new JFrame(res.getString("GRandom"));
F.setContentPane(new GRandom().JP1);
F.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
F.pack();
F.setVisible(true);
F.setSize(300,163);
F.setResizable(false);
JMenuBar gmenu = new JMenuBar();
JMenu Mode = new JMenu("Режим");
JMenu Display = new JMenu("После генерации");
JMenu GenerateOptions = new JMenu("Опции для генерации");
gmenu.add(Mode);
gmenu.add(Display);
gmenu.add(GenerateOptions);
Icon dicon = new Icon() {
@Override
public void paintIcon(Component c, Graphics g, int x, int y) {
}
@Override
public int getIconWidth() {
return 0;
}
@Override
public int getIconHeight() {
return 0;
}
};
//M = Menu | D = Display | GO = GenerateOptions
JRadioButtonMenuItem Mnumbers = new JRadioButtonMenuItem("Генерировать числа",dicon,true);
Mnumbers.setActionCommand("Mnumbers");
JRadioButtonMenuItem Mstring = new JRadioButtonMenuItem("Генерировать заданные строки");
Mstring.setActionCommand("Mstring");
JRadioButtonMenuItem Ddefault = new JRadioButtonMenuItem("По умолчанию",dicon,true);
Ddefault.setActionCommand("Ddefault");
JRadioButtonMenuItem Dopen = new JRadioButtonMenuItem("Открыть файл");
Dopen.setActionCommand("Dopen");
JRadioButtonMenuItem Dshowhere = new JRadioButtonMenuItem("Показать здесь");
Dshowhere.setActionCommand("Dshowhere");
JRadioButtonMenuItem GOninclude = new JRadioButtonMenuItem("Не включать числа");
Dshowhere.setActionCommand("GOninclude");
Mode.add(Mnumbers);
Mode.add(Mstring);
Display.add(Ddefault);
Display.add(Dopen);
Display.add(Dshowhere);
GenerateOptions.add(GOninclude);
F.setJMenuBar(gmenu);
}
这是代码,我需要从 public static void main(String[] args)
我试图将其移动到 GRandom() class(它是主要的 class)并使 public static void main(String[] args) 看起来像这样:
public static void main(String[] args)
{
JFrame.setDefaultLookAndFeelDecorated(true);
new JMenuTest();
}
运行没有任何错误,但没有任何显示:(
请帮帮我,如何将它移动到 GRandom() class,或者制作另一个
这是一种方法。
这有助于将您的代码分成多个方法。这样,您可以一次专注于 GUI 的一部分。
必须按特定顺序调用 JFrame 方法。这是我在所有 Swing 应用程序中使用的顺序。
我不得不为此在我的计算机上 运行 注释掉一些代码。
import java.awt.Component;
import java.awt.Graphics;
import java.util.ResourceBundle;
import javax.swing.Icon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.SwingUtilities;
public class JFrameExample implements Runnable {
public static void main(String[] args) {
SwingUtilities.invokeLater(new JFrameExample());
}
@Override
public void run() {
// ResourceBundle res = ResourceBundle.getBundle(
// "georglider.grandom.lang.lang");
// JFrame frame = new JFrame(res.getString("GRandom"));
JFrame frame = new JFrame("JFrame Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setJMenuBar(createMenu());
frame.pack();
frame.setSize(400, 200);
frame.setResizable(false);
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
private JMenuBar createMenu() {
JMenuBar gmenu = new JMenuBar();
JMenu Mode = new JMenu("Режим");
JMenu Display = new JMenu("После генерации");
JMenu GenerateOptions = new JMenu("Опции для генерации");
// M = Menu | D = Display | GO = GenerateOptions
JRadioButtonMenuItem Mnumbers =
new JRadioButtonMenuItem("Генерировать числа",
createIcon(), true);
Mnumbers.setActionCommand("Mnumbers");
JRadioButtonMenuItem Mstring =
new JRadioButtonMenuItem(
"Генерировать заданные строки");
Mstring.setActionCommand("Mstring");
JRadioButtonMenuItem Ddefault =
new JRadioButtonMenuItem("По умолчанию",
createIcon(), true);
Ddefault.setActionCommand("Ddefault");
JRadioButtonMenuItem Dopen =
new JRadioButtonMenuItem("Открыть файл");
Dopen.setActionCommand("Dopen");
JRadioButtonMenuItem Dshowhere =
new JRadioButtonMenuItem("Показать здесь");
Dshowhere.setActionCommand("Dshowhere");
JRadioButtonMenuItem GOninclude =
new JRadioButtonMenuItem("Не включать числа");
Dshowhere.setActionCommand("GOninclude");
Mode.add(Mnumbers);
Mode.add(Mstring);
Display.add(Ddefault);
Display.add(Dopen);
Display.add(Dshowhere);
GenerateOptions.add(GOninclude);
gmenu.add(Mode);
gmenu.add(Display);
gmenu.add(GenerateOptions);
return gmenu;
}
private Icon createIcon() {
Icon dicon = new Icon() {
@Override
public void paintIcon(Component c,
Graphics g, int x, int y) {
}
@Override
public int getIconWidth() {
return 0;
}
@Override
public int getIconHeight() {
return 0;
}
};
return dicon;
}
}