質問内容
質問を評価する
(0ポイント)
|
自分ではほぼ原因がわからないんですが、 あるクラスAのメソッドaを 別のクラスBで呼びだしたんですが、 呼び出した瞬間に固まってBもAも どっちも動かなくなるんです。
import java.awt.*; import java.awt.event.*; import java.awt.image.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.border.*; import javax.imageio.ImageIO.*; import java.io.*; import java.util.*; import java.lang.*;
class B extends JFrame{
static int[] a = new int[100]; static String[] b = new int[100];
static JFrame frame = new JFrame(); static JPanel panel = new JPanel(); static JTextarea textarea = new JTextArea();
B(){ panel.setLayout(new GridLayout(1,1); panel.add(textarea);
frame.getContentPane().setLayout(null); frame.getContentpane().add(panel); panel.setBounds(0,0,100,100);
textarea.addKeylistener(new B_a());
frame.setVisible(true); frame.setDefaultCloseOperation(EXIT_ON_CLOSE); }
class B_a implements KeyListner{
public void keyPressed(KeyEvent e){
int a = e.getKeyCode(); if(a == KeyEvent.VK_UP){ A a = new A(); a.a(); }
public void keyReleased(KeyEvent e){} public void keyTyped(KeyEvent e){} }
public static void main(String args[]){new B();} void a(){new B();} }
コマンドプロンプトのctrl+cで 終了するしかなくなります。
おそらくクラスAに固まらせる文章があると 思うんですが、 かなり長いし、ここには書けないんですが、 クラスAはこのクラスBとほぼ同じです。 JTextAreaやJButtonとかを張り付けたJFrameです。 クラスAのJTextAreaにもこのクラスBのように インナークラスでKeyListenerがはいっています。 クラスAのJButtonにはActionListenerが入っています。static int[] a = int[100];の部分も同じです。
長々とすいません。 要約すると、 ある種のなにかを含んだクラスは 別のクラスでは呼び出せないんでしょうか?
|