2017-12-11 18 views
0

を読み取ることができません。私はインターネットからの情報をたどってきましたが、まだ解決できません。エラーが私のメインフォーム、public class Screen extends JFrame implements ActionListener {であり、Start fram2 = new Start();Netbeansのは、私はJavaで初心者だと私は私のゲームのための私のメインメニューに問題がある、私の第二のフォーム

に私を助けてくださいここに私のコードです: - --2ndクラスメインフォーム

package screen; 
//import java.awt.event.ActionListener; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JMenu; 
import javax.swing.JMenuBar; 
import javax.swing.JMenuItem; 
import javax.swing.JPanel; 
import java.awt.FlowLayout; 
import java.awt.event.ActionListener; 
import java.awt.event.InputEvent; 
import java.awt.event.KeyEvent; 
import javax.swing.*; 
import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 
//import java.awt.event.InputEvent; 
//import java.awt.event.KeyEvent; 
import javafx.event.ActionEvent; 

public class Screen extends JFrame implements ActionListener { 

    public Screen() { 
    JFrame f = new JFrame("Menu Demo"); 
    f.setSize(800, 600); 

    f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); 
    JMenuBar jmb = new JMenuBar(); 

    JMenu jmFile = new JMenu("File"); 
    JMenuItem jmiOpen = new JMenuItem("Create Player"); 
    JMenuItem jmiClose = new JMenuItem("Close"); 

    JMenuItem jmiExit = new JMenuItem("Exit"); 
    JPanel p = new JPanel(); 
    //Container c = getContentPane(); 

    JButton start = new JButton("START!"); 
    JButton instructions = new JButton ("INSTRUCTIONS"); 
    JButton close = new JButton("CLOSE!"); 

     jmFile.setMnemonic(KeyEvent.VK_F); 
     jmiOpen.setMnemonic(KeyEvent.VK_O); 
     jmiClose.setMnemonic(KeyEvent.VK_S); 
     jmiExit.setMnemonic(KeyEvent.VK_X); 

     jmiOpen.setAccelerator(KeyStroke.getKeyStroke(
       KeyEvent.VK_O, 
     InputEvent.CTRL_DOWN_MASK 
     )); 

     jmiClose.setAccelerator(KeyStroke.getKeyStroke(
       KeyEvent.VK_S, 
     InputEvent.CTRL_DOWN_MASK 
     )); 

     jmiExit.setAccelerator(KeyStroke.getKeyStroke(
       KeyEvent.VK_X, 
     InputEvent.CTRL_DOWN_MASK 
     )); 


    jmFile.add(jmiOpen); 
    jmFile.add(jmiClose); 

    jmFile.addSeparator(); 
    jmFile.add(jmiExit); 
    jmb.add(jmFile); 
    p.add(start); 
     p.add(instructions); 
     instructions.addActionListener(new ActionListener() 
{ 
    public void actionPerformed(ActionEvent e) { 
     if (e.getSource() == instructions){ 
     setVisible(false); 
     //Start fram2 = new Start(); 
     Start fram2 = new Start(); 
     dispose(); 
    } 
    } 
}); 

     p.add(close); 
     f.add(p,"South"); 

     start .addActionListener((ActionListener) this); 
     instructions.addActionListener((ActionListener) this); 
     close .addActionListener((ActionListener) this); 

    // JMenu jmOptions = new JMenu("Options"); 
    // JMenu a = new JMenu("A"); 
    // JMenuItem b = new JMenuItem("B"); 
    // JMenuItem c = new JMenuItem("C"); 
    JMenuItem d = new JMenuItem("D"); 
    // a.add(b); 
    //a.add(c); 
    // a.add(d); 
    // jmOptions.add(a); 

    JMenu e = new JMenu("E"); 
    e.add(new JMenuItem("F")); 
    e.add(new JMenuItem("G")); 


    JMenu jmHelp = new JMenu("Help"); 
    JMenuItem jmiAbout = new JMenuItem("About"); 
    jmHelp.add(jmiAbout); 
    jmb.add(jmHelp); 

    jmiOpen.addActionListener((ActionListener) this); 
    jmiClose.addActionListener((ActionListener) this); 

    jmiExit.addActionListener((ActionListener) this); 
    d.addActionListener((ActionListener) this); 
    jmiAbout.addActionListener((ActionListener) this); 

    f.setJMenuBar(jmb); 
    f.setVisible(true); 

    JLabel img = new JLabel(new ImageIcon("D:/SpaceShip.jpg")); 
     f.add(img,"North"); 

    p.setLayout(new FlowLayout()); 
    } 

    public static void main(String[] args) { 
     new Screen(); 
    } 

    public void actionPerformed(ActionEvent arg0) { // try to use actionPerformed(java.awt.event.ActionEvent) but still has error 
     // Do something here 

    } 

} 

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 

class Start extends JFrame{ 
    JFrame fram2 = new JFrame("About"); 

    public Start(){ 

setSize(800,600); 
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

JLabel jl1 = new JLabel (" ABOUT THE DEVELOPER "); 
JLabel jl2 = new JLabel ("3 Mahasiswa Sistem Informasi dari Universitas Tarumanagara"); 
JLabel jl3 = new JLabel ("Mereka adalah : "); 
JLabel jl4 = new JLabel (" \t1. Meiliana Setiady, 825160021"); 
JLabel jl5 = new JLabel (" \t2. James Natasalim, 825160023"); 
JLabel jl6 = new JLabel (" \t3. Maya Retnosari, 825160030"); 
JLabel jl7 = new JLabel (" Selamat menikmati permainan dari kami ^__^"); 

JPanel p2 = new JPanel(); 
p2.add(jl1); 
p2.add(jl2); 
p2.add(jl3); 
p2.add(jl4); 
p2.add(jl5); 
p2.add(jl6); 
p2.add(jl7); 
getContentPane().add(p2); 
//fram2.add(p2); 

//fram2.setSize(800,600); 
setVisible(true); 
} 

} 

はまだ第一に誤りがありますフォームパッケージ:(インポートjava.awt.event.ActionListener; インポートたjava.awt.event.InputEvent; インポートjava.awt.event.KeyEventの;)と行の「instructions.addActionListener(新規のActionListener ()」

赤い線は言った:java.lang.RuntimeException:によって引き起こさ java.lang.ExceptionInInitializerError - :クラスのActionListener 場所:クラスいるjava.awt.event 互換性のないソースコードは、シンボル シンボルを見つけることができません(Screen.java:10) スレッド「メイン」Java例外が返されました:1 BUILD FAILED(合計時間:1秒)

私は何かを見逃しましたか?

+0

はい、あなたはエラー –

+0

Umm ..を投稿することを忘れてしまいました。私は自分のエラーを掲示し、それらは上にあります。のみ、行「のJFrameはActionListenerの{実装パブリッククラス画面が延びる」列「スタートfram2 =新しいスタート();」赤い看板があります –

+0

赤い線は何を言ったのですか? java.lang.RuntimeException:によって引き起こさ –

答えて

1

画面は抽象的ではなく、screen.Screenで java.awt.event.ActionListenerに抽象メソッド のactionPerformed(java.awt.event.ActionEvent)をオーバーライドしません。

あなたはint型を持つことができませんactionPerformed(java.awt.event.ActionEvent)方法あなたの第二のクラスで

@Override 
    public void actionPerformed(ActionEvent arg0) { 
     // Do something here 

    } 

JLabel jl1 = new JLabel(" \tABOUT THE DEVELOPER\t", 30); 

を実装する必要があります。これは、次の定数のいずれか

  • リスト項目
  • LEFT(2)

  • CENTER(0)

  • RIGHT(4)

  • リーディング(なければなりません10)

  • TRAILING(11)**

+0

メインプログラムは表示されていますが、指示ボタンはまだ動作しません。スレッド "AWT-EventQueueの-0" java.lang.RuntimeExceptionに 例外:互換性のないソースコード - 誤っSYMタイプ:screen.Screen $ 1.actionPerformedでscreen.Screen.Start.setVisible \t(Screen.java:75) :javax.swing.DefaultButtonModel.fireActionPerformedでjavax.swing.AbstractButton $ Handler.actionPerformed(AbstractButton.java:2348) \t(DefaultButtonModel.javaでjavax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) \tで\t 402) \t –

+0

回答が更新されました。 –

+0

あなたはhttps://stackoverflow.com/questions/31078640/java-exception-in-thread-awt-eventqueue-0-java-lang-illegalargumentexceptionを参照することができます –

関連する問題