2016-04-21 8 views
0

私はドロップダウンメニューを作っています。ユーザーがドロップダウンメニューからオプションを選択するたびに、GUIにポップアップウィンドウを作成させたいと思っていました。 actionPerformedメソッド内にポップアップのコードを入れるか、別のメソッドを作成して別のメソッドを呼び出す必要がありますか?ポップアップコードを入れる場所

import java.awt.Container; 
import java.awt.FlowLayout; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

import javax.swing.JApplet; 
import javax.swing.JFrame; 
import javax.swing.JMenu; 
import javax.swing.JMenuBar; 
import javax.swing.JMenuItem; 
import javax.swing.JTextField; 

public class FinalGUI2 extends JApplet{ 
private JTextField text = new JTextField(10); 

private ActionListener listen = new ActionListener(){ 
    public void actionPerformed(ActionEvent e){ 

    } 
}; 

private JMenu[] menu = {new JMenu("Food"), new JMenu("Fluid"), new  JMenu("Sleep")}; 

private JMenuItem[] items = {new JMenuItem("Add"), new JMenuItem("Add"), new JMenuItem("Add"), 
     new JMenuItem("Edit"), new JMenuItem("Edit"), new JMenuItem("Edit"), 
     new JMenuItem("Delete"), new JMenuItem("Delete"), new JMenuItem("Delete")}; 

public void init(){ 
    for(int i = 0; i < items.length; i++){ 
     items[i].addActionListener(listen); 
     menu[i%3].add(items[i]); 
    } 
    JMenuBar bar = new JMenuBar(); 
    for(int i = 0; i < menu.length; i++) 
     bar.add(menu[i]); 
    setJMenuBar(bar); 
    Container contain = getContentPane(); 
    contain.setLayout(new FlowLayout()); 
    contain.add(text); 
} 

public static void main(String[] args){ 
    run(new FinalGUI2(), 200, 75); 
} 

public static void run(JApplet app, int width, int height){ 
    JFrame frame = new JFrame(); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.getContentPane().add(app); 
    frame.setSize(width, height); 
    app.init(); 
    app.start(); 
    frame.setVisible(true); 
} 

}

答えて

0

JMenuItemさんActionListener

は、ここに私のコードです。たぶんHow to Use Menusを見て、より詳細

ためHow to Write an Action Listenersおよび/またはHow to Use Actions私はactionPerformedメソッド内のポップアップのためのコードを置くか、別の方法を作り、どこかそれを呼び出す必要がありますか?

これはあなた次第です。個人的には再利用可能なコードが好きなので、別のメソッドやクラスを使用することが私の好みの解決策になりますが、それはあなた自身の文脈と必要になるでしょう

関連する問題