• 締切済み

イベント発生時によるフレーム表示の方法

こんにちは、JAVA初心者です。 フレームにメニューバーを付け、そのメニューの項目をマウスでクリックした時に、新しく別のフレームを表示させたいのですが、やり方が分かりません。リスナーによるイベント処理の中をどのようにしたら良いのか教えてください。 if( color.equals("~") ) { ~ ;} ~の部分に、フレームを表示させるプログラムを強引に入れてみたのですが、当然のことながらエラー。 どのようにすれば良いのでしょうか?? //フレームを表示させるプログラム import javax.swing.*; class aho extends JFrame { public aho( String name ) { //コンストラクタ setTitle(name); setDefaultCloseOperation(aho.EXIT_ON_CLOSE);} } public class SwingSample1 { public static void main(String[] args) { aho figure = new aho ("フレーム表示"); figure.setLocation( 0, 0); figure.setSize( 500, 500); figure.show();} } この質問を答える為に不足している情報があったら、教えてください。その場合、すぐにでも補足致します! 宜しくお願いします!!

みんなの回答

  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.1

子ウインドウは、JDialogを使ってください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • AWTでウィンドウを閉じる仕組み

    import java.awt.*; import java.awt.event.*; class WindowClose extends WindowAdapter{ public void windowClosing(WindowEvent we){ System.exit(0); } } class Figure extends Frame{ public Figure(String name){ setTitle(name); setLocation(300,200); setSize(300,200); setBackground(Color.ORANGE); WindowClose wc = new WindowClose(); addWindowListener(wc); } } public class Test{ public static void main(String [] args){ Figure figure = new Figure("Frame1"); figure.show(); } } 初歩的なことな質問で申し訳ないです。 このような処理でウィンドウを閉じているのですが、具体的に何を取得してどんな動作をしているのかがよくわかりません。 wcというインスタンスにウィンドウリスナーのオブジェクトが追加登録されるという感じだと思いますが、extends されているWindowAdapterクラスにはすでにウィンドウリスナーのインスタンスが実装されていますよね。一体何の意味があるのでしょうか。

    • ベストアンサー
    • Java
  • JFrameのエラーの意味が分かりません

    今晩は、JAVA初心者です。宜しくお願いします。 下のようなコードを書いてやりましたが、 ” Frame_Ren fr2 = new Frame_Ren();”の箇所で「型JFrameから非staticメソッドsetDefaultCloseOperation(int) にstatic参照することは出来ません。」というエラーが出ます、このエラーの意味はどのように対処してやれば良い のでしょうか。 また、”Frame_Ren fr2 = new Frame_Ren();”をコメントアウトにしても、エラー表示はされないのですが、 何故かwindowに色が付きません、この原因は何でしょうか。 Titleもきちんと表示されます。 ===================================================================== class Frame_Ren extends JFrame { public static void main(String args[]) { Frame_Ren fr2 = new Frame_Ren(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fr2.setBackground(Color.red); fr2.setSize(300,300); fr2.setTitle("Frame_Ren"); fr2.setVisible(true); } }

    • ベストアンサー
    • Java
  • swingのJframeについて

    JFrameについて質問があるのですが import javax.swing.*; public class JFrameTest extends JFrame{ public static void main(String[] args){ JFrameTest frame = new JFrameTest(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(10, 10, 300, 200); frame.setTitle("タイトル"); frame.setVisible(true); } JFrameTest(){ JPanel p = new JPanel();   Container contentPane = getContentPane(); ContentPane.add(p);   pack(); } } このプログラムと import javax.swing.*; public class JFrameTest{ public static void main(String[] args){ JFrame frame = new JFrame("フレームのタイトル"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds( 10, 10, 300, 200); frame.setVisible(true); JPanel p = new JPanel();   Container contentPane = frame.getContentPane(); frame.ContentPane.add(p);   frame.pack(); } } このプログラムは何が違うのでしょう? やってることはまったく一緒だと思ってたのですが、全然違うみたいです。 上のプログラムの JFrameTest(){ はコンストラクタと呼ばれるものなのでしょうか? しょぼい質問で申し訳ないのですが誰か教えていただけないでしょうか。

    • ベストアンサー
    • Java
  • スクロール表示

    お願いします。 初めてswingに挑戦中なのですが・・・ tableをスクロール表示させたいのですがどうしてもできません。どうしたらよいでしょうか?教えてください import java.lang.*; import javax.swing.*; import javax.swing.table.*; import java.awt.*; public class SwingTableApp extends JFrame { public JTable table; public JLabel label; public SwingTableApp(String[][] data) { super("parallel Machine Scheduling"); setLocation(50,50); setSize(400,700); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().setLayout(null); DefaultTableModel tableModel = new DefaultTableModel(); for(int k=0; k<data[0].length; k++){ tableModel.addColumn("TEST"); }//列の設定 for(int j=0; j<data.length; j++){ tableModel.addRow(data[j]); }//行の設定 table = new JTable(tableModel); table.setLocation(10,10); table.setSize(2000,200); getContentPane().add(table); label = new JLabel("目的関数"); label.setLocation(10,210); label.setSize(100,25); getContentPane().add(label); } }

    • ベストアンサー
    • Java
  • javaのpaintについて

    public class Main extends JFrame{ public static void main(String args[]){ Main frame = new Main("test"); frame.setVisible(true); } Main(String title){ setTitle(title); setBounds(100, 100, 300, 250); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JMenuBar menubar = new JMenuBar(); JMenu menu1 = new JMenu("File"); menubar.add(menu1); JMenuItem menuitem1 = new JMenuItem("New"); menu1.add(menuitem1); setJMenuBar(menubar); } public void paint(Graphics g){ } } いまウィンドウにメニューバーを表示させようとして上のプログラムで実行させたんですが、画像のようにメニューバーが表示されません。 そこでpaintの引数を消してみたところ表示されます。 しかし、paint内で画像の表示の処理もしたいので引数がないといけません。 どうしたらいいでしょうか?

    • ベストアンサー
    • Java
  • Jframeの中にJframeを表示させたい

    Jframeの中にボタンを作り、ボタンを押すとJInternalFrameではなくJframeを表示させるようにしたいんですが、なかなかできません。 検索したりしてサンプル探したんですが、 Jframeを表示させ、ラベルを貼ったりしたいんですが どなたかお願いします!! public class Browser extends JFrame{ public static void main(String args[]) { Browser frame = new Browser(); frame.setTitle(""); frame.setExtendedState(JFrame.MAXIMIZED_BOTH); frame.setVisible(true); } //ボタン private JButton bt = new JButton("~~"); public Browser() { bt.addActionListener(this); JToolBar tb = new JToolBar(); tb.setFloatable(false); getContentPane().add(tb, BorderLayout.NORTH); JPanel panel2 = new JPanel(); panel2.add(bt); panel2.setLayout(new FlowLayout(FlowLayout.LEFT)); tb.add(panel2); } //↓この辺りの処理の記述で頭が混乱してきました(泣 public class actionPerformed(ActionEvent e){ if(e.getSource() == bt){ Frame FW = new Frame(); FW.setSize(500,400); FW.setVisible(true); } } class Frame extends Frame{ public Frame(){ //コンストラクタの定義 } }

    • ベストアンサー
    • Java
  • 実行できません。

    import javax.swing.*; public class JFrame01 { public static void main(String[] args) { JFrame frame = new JFrame("JFrame01"); frame.setSize(400, 300); frame.setVisible(true); } }  このプログラムはどこかおかしいでしょうか。コンパイルはできるんですけど、実行することができません。  実行すると、 「Exception in thread "main" java.lang.NoClassDefFoundError: JFrame01」 というエラーが出ます。

    • ベストアンサー
    • Java
  • cadで作った図面をフレーム上で表示

    こんばんは いつもお世話になっています。 gif形式の図を表示することはできるのですが AutoCADで描いた図はgifファイルに出力できません。 下記のようにコーディングしたのですが、”ぜひお越しください”しか表示されませんでした。 ほかの形式(dxf、wfm、bmp)でもいろいろ試したのですができませんでした。 どうすればAutoCADで作った図をフレーム上に表示できるのでしょうか? どなたか教えていただけませんか? import java.awt.*; import javax.swing.*; import javax.swing.ImageIcon; class map { public static void main(String args[]) { JFrame frame=new JFrame("map test"); JPanel panel=new JPanel(); ImageIcon ico=new ImageIcon("地図.gif"); JButton button=new JButton("ぜひお越しください",ico); panel.add(button); Container ct=frame.getContentPane(); ct.add(panel); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } }

  • SwingでgetContentPaneのエラーです、お願いします

     今晩は、java勉強中のものです、宜しくお願いします。  下のようなプログラムを組んでみましたが、「型JFrameから非staticメソッドgetContentPane()にstatic参照 することは出来ません」というエラーコードです。  原因が良く分かりません、どなたか教えて下さい。  いくら考えても原因がよく分かりません、宜しくお願いします。 ================================================================ public class Panel_train extends JFrame{ public static void main(String[] args) { Container cnt = getContentPane(); JPanel jpanel = new JPanel(); JTextArea jtext = new JTextArea("Hello World", 100, 50); jpanel.add(jtext); cnt.add(jpanel, BorderLayout.CENTER); JFrame frame = new JFrame("テスト"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(200, 100); frame.setVisible(true); } }

    • ベストアンサー
    • Java
  • メニューバーのプログラム

    javaで、メニューバーの項目を選んだら動作するプログラムを試しに組んでみようとしたのですがうまくいきません。 どう組めばいいか教えてください。 メニューバーの項目を選んだあとに出てくるメニューを選ぶと動作するプログラムは検索してすぐ出てくるのですが…。 下のプログラムはメニューバーのEndを押すと終了する、にならなかったプログラムです。 import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; class Test1 extends JFrame{ public static void main(String args[]){ Test1 frame = new Test1("タイトル"); frame.setVisible(true); } Test1(String title){ setTitle(title); setBounds(100, 100, 300, 250); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JMenuBar menubar = new JMenuBar(); JMenu menu1 = new JMenu("End"); menu1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ System.exit(0); } }); menubar.add(menu1); setJMenuBar(menubar); Container contentPane = getContentPane(); } }

    • ベストアンサー
    • Java