2014-11-20 2 views
0

UPDATE 업데이트 UPDATEUPDATE ....

가) : 감사합니다) 내가 한 내가 먼저 (FirstScreen를) frame.add 넣어

그들이 등장 .....

하지만 지금 이벤트가 작동하지 않습니다, 왜 ???????

나를 다시 도울 수 있습니까 ???

나는 ........

..................

import java.awt.*; 
import javax.swing.*; 
import java.awt.event.*; 
public class InterFace extends JFrame implements ActionListener,ItemListener 
{ 

JFrame frame = new JFrame("Al-murshed Dictionary"); 
JPanel FirstScreen = new JPanel(); 
JPanel SecondScreen = new JPanel(); 
JPanel ThirdScreen = new JPanel(); 
JPanel ForthScreen = new JPanel(); 
JButton Translate = new JButton ("Translate"); 
JButton About = new JButton ("About"); 
JButton Help= new JButton ("Help"); 
JButton Quit= new JButton ("Quit"); 
JButton Quit1= new JButton ("Quit"); 
JButton Quit2= new JButton ("Quit"); 
JButton Back= new JButton ("Back"); 
JButton Back1= new JButton ("Back"); 
JTextField WordField = new JTextField("Write Your Word Here",50); 
JTextArea ArbField = new JTextArea(40,40); 
JTextArea EngField = new JTextArea(40,40); 
CardLayout c1 = new CardLayout(); 

public InterFace() 
{ 

FirstScreen.setLayout(c1); 

SecondScreen.add(WordField); 
SecondScreen.add(Translate); 
ThirdScreen.add(Back); 
ForthScreen.add(Back1); 
ThirdScreen.add(Quit1); 
ForthScreen.add(Quit2); 

FirstScreen.add(SecondScreen,"1"); 
FirstScreen.add(ThirdScreen,"2"); 
FirstScreen.add(ForthScreen,"3"); 

JPanel controlButtons = new JPanel(); 
controlButtons.add(Help); 
controlButtons.add(About); 
controlButtons.add(Quit); 

JPanel wordTranslate = new JPanel(); 
wordTranslate.add(WordField); 
wordTranslate.add(Translate); 

JPanel controlTextArea = new JPanel(); 
controlTextArea.add(EngField); 
controlTextArea.add(ArbField); 

c1.show(FirstScreen,"1"); 

About.addActionListener(this); 
Back.addActionListener(this); 
Help.addActionListener(this); 
Back1.addActionListener(this); 
Quit.addActionListener(this); 
Quit1.addActionListener(this); 
Quit2.addActionListener(this); 

frame.add(FirstScreen); 
Container pane = frame.getContentPane(); 
pane.add(wordTranslate, BorderLayout.NORTH); 
pane.add(controlTextArea, BorderLayout.CENTER); 
pane.add(controlButtons, BorderLayout.PAGE_END); 

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.pack(); 
frame.setVisible(true); 
} 

//EventHandler 
public void actionPerformed(ActionEvent e) 
{ 

if(e.getSource()==About) 
c1.show(FirstScreen,"2"); 

if(e.getSource()==Help) 
c1.show(FirstScreen,"3"); 

if(e.getSource()==Quit) 
System.exit(0); 

if(e.getSource()==Quit1) 
System.exit(0); 

if(e.getSource()==Quit2) 
    System.exit(0); 

if(e.getSource()==Back) 
c1.show(FirstScreen,"1"); 

if(e.getSource()==Back1) 
c1.show(FirstScreen,"1"); 

} 
public static void main (String args[]) 
{ 
InterFace d = new InterFace(); 
} 

} 

답변

1
pane.add(controlTextArea, BorderLayout.CENTER); 
... 
frame.add(FirstScreen); 

먼저 미안 해요 컨텐츠 영역에 텍스트 영역 패널을 추가하십시오.

그런 다음 "FirstScreen"을 프레임에 추가합니다.

"FirstScreen"을 프레임에 추가하면 실제로 프레임의 내용 창에 추가되는 것이 문제입니다. 기본적으로 텍스트 영역 패널을 첫 번째 화면으로 대체합니다.

또한, 자바 명명 규칙을 따릅니다. 변수 이름은 대문자로 시작하면 안됩니다.

+0

내가 지금 이런 짓을 ) : 감사하지만 이벤트는 더 이상 (약/도움말) = 새로운 JPanel의 JPanel의 wordTranslate()를 작동하지 않습니다; wordTranslate.add (WordField); wordTranslate.add (번역); frame.add (FirstScreen); 컨테이너 pane = frame.getContentPane(); pane.add (wordTranslate, BorderLayout.NORTH); pane.add (controlTextArea, BorderLayout.CENTER); pane.add (controlButtons, BorderLayout.PAGE_END); – user3464643

+0

나는 그것을 업데이트했는데, plz 그것을 볼 수 있니? – user3464643