【问题标题】:UPDATE THE EVENTS ARE NOT WORKING....更新事件不起作用....
【发布时间】:2015-01-18 18:00:01
【问题描述】:

更新更新更新

谢谢你 :))) 我照你说的做了

我把frame.add(FirstScreen)放在第一位

他们出现了.....

但现在事件不起作用,为什么???????

你能再帮帮我吗???

对不起........

........

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 ();
 }

}

【问题讨论】:

    标签: java eclipse swing textarea


    【解决方案1】:
    pane.add(controlTextArea, BorderLayout.CENTER);
    ...
    frame.add(FirstScreen);
    

    首先将文本区域面板添加到内容窗格中。

    然后将“FirstScreen”添加到框架中。

    问题在于,当您将“FirstScreen”添加到框架时,您实际上是在将其添加到框架的内容窗格中。所以基本上你正在用第一个屏幕替换文本区域面板。

    此外,请遵循 Java 命名约定。变量名不应以大写字符开头。

    【讨论】:

    • 谢谢 :)) 我现在这样做了,但事件不再起作用(关于/帮助) JPanel wordTranslate = new JPanel(); wordTranslate.add(WordField); wordTranslate.add(翻译); frame.add(FirstScreen);容器窗格 = frame.getContentPane(); pane.add(wordTranslate, BorderLayout.NORTH); pane.add(controlTextArea, BorderLayout.CENTER); pane.add(controlButtons, BorderLayout.PAGE_END);
    猜你喜欢
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    相关资源
    最近更新 更多