1
こんにちは、私は2つの配列を使用して、JMenuとJMenuItemsでJMenuBarを作成しようとしています。私はかなりGUIを使用して新しく、私はこれを達成するためのクラスを作ったが、それは動作していません。ループと文字列の配列を持つJMenuBarの作成エラー
import java.util.*;
import javax.swing.*;
public class MenuBar {
String[] titulos = {"Raices","Sistemas","Interpolacion","Dif. e Int.","Ecuaciones"};
String[][] subTitulos = {{"Biseccion","Falsa Posicion","Secante","Newton-Rhapson","Aprox. Sucesivas","Newton 2ndo. Orden"},
{"Gauss","Gauss-Jordan","Montante","Cramer","Jacobi","Gauss-Seidel"},
{"Diferencias Finitas","Newton","LaGrange","Min. Cuadrados"},
{"Por Limites","Diferencias Finitas","Trapecio","Trapecio","Simpson","Simpson"},
{"Euler","Euler-Gauss"}};
public JMenuBar menuBar = new JMenuBar();
public JMenu[] menus;
public List<List<JMenuItem>> menuItems;
public MenuBar(){
menus = new JMenu[titulos.length];
menuItems = new ArrayList<List<JMenuItem>>();
for (int i=0;i<titulos.length;i++){
menus[i]= new JMenu(titulos[i]);
menuItems.add(new ArrayList<JMenuItem>());
for(int j=0;j<subTitulos[i].length;j++){
menuItems.get(i).add(new JMenuItem(subTitulos[i][j]));
menus[i].add(menuItems.get(i).get(j));
}
menuBar.add(menus[i]);
}
}
}
コードは、私がJMenuを作成するポイントまで機能します。これは完璧に機能します。しかし、2番目のループの中にJMenuItemを作成するとすぐに、たとえそれを格納したり貼り付けたりしなくても、ブレークして、フレーム内にmenuBarを表示しません。
実際にはうまく動作しないため、非常に奇妙ですが、まれにはさらに混乱します。
これは私のメインクラスです:
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame("Menu");
frame.setVisible(true);
frame.setSize(900, 800);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MenuBar menuBar = new MenuBar();
frame.setJMenuBar(menuBar.menuBar);
}
}
ありがとうございました。私はGUIに慣れていないので気づいていませんでした。 – user2620232