我在基础那里发了个求助帖,可是没人理我,希望这里有人能帮忙啊是这样的
遇到一个JAVA要求是这样的使用一个面板还有布局管理器以及其它的构件设计一个输入个人简历的界面,内容包括姓名啊,出生年月之类的----我大概的已经把这些写好了。问题出它要在这个程序里添加一个“提交”按钮,实现当当击该按钮的时候在另一个窗口内以另外的形式显示输入的内容。这个要怎样实现呢?谢谢各位了,会的指导一下我哦
另外还有个问题就是在下拉列表框(用来 选择年月日的,我想在后面的月日里的下拉列表框里实现1到12,和1到31的日期选择,但是如果一个个打的话太多了,我想到了数组,比如复选择框里就可以这样做,我想下拉列表框可以实现吗??)import java.awt.*;
import java.applet.*;public class Text_3 extends Applet{
public void init(){
setLayout(new FlowLayout(FlowLayout.LEFT));
Panel p1 =new Panel();
add(p1);
p1.add(new Label("姓名: "));
p1.add(new TextField(20));
Panel p2 =new Panel();
add(p2);
p2.add(new Label("性别: "));
CheckboxGroup a=new CheckboxGroup();
p2.add(new Checkbox("男",a,false));
p2.add(new Checkbox("女",a,true));
//p2.add(new Checkbox("保密",c,true));
Panel p3=new Panel();
add(p3);
//p3.add(new Label("出生年月: "));
//p3.add(new TextField(5));
//p3.add(new Label("年"));
    Choice b =new Choice();
    b.add("1");===============就是这些位置,现在只能这样输入,很是麻烦。
    b.add("2");
    b.add("3");
 //p3.add(b);
 //p3.add(new Label("月")); 
 Choice c =new Choice();
   c.add("1");
   c.add("2");
   c.add("3");
 p3.add(new Label("出生年月:"));
 p3.add(new TextField(5));
 p3.add(new Label("年"));
 p3.add(b);
 p3.add(new Label("月")); 
 p3.add(c);
 p3.add(new Label("日"));
 Panel p4 =new Panel();
 add(p4); 
 p4.add(new Label("籍贯:"));
 p4.add(new TextField(20));
 Panel p5=new Panel();
 add(p5);
 p5.add(new Label("个人爱好: "));
 String subject[]={"看书","看书","看书","看书","看书","看书","看书","看书","看书","看书"};
 Checkbox cb[]=new Checkbox[10];
 for(int i=0;i<10;i++){
 cb[i]=new Checkbox(subject[i]);
 p5.add(cb[i]);
 }
 Panel p6=new Panel();
 add(p6);
 p6.add(new Label("教育程度:"));
 Choice d =new Choice();
 d.addItem("博士");
 d.addItem("硕士");
 d.addItem("本科");
 d.addItem("大专");
 d.addItem("高中以下");
 p6.add(d);
 Panel p7=new Panel();
 add(p7);
 p7.add(new Label("个人简介:"));
 p7.add(new TextArea(null,3,60));
 Panel p8=new Panel();
 add(p8);
 p8.add(new Button("提 交"));
   }
}

解决方案 »

  1.   

    实在是太长了,我还在写程序,没有心情去分析你的程序1、建议你使用集成环境,比如JB2005(对内存要求比较高),这样就完全不用去担心UI的问题,因为排列起来十分简单(请翻一下参考书)。2、在UI界面里面添加个按钮,然后给这个按钮监听个事件,然后第二个.JAVA文件里面设计好另外的样式,在第一个.JAVA里面NEW就可以了,数据的问题你就用TXT就解决了3、还有什么问题,其实重要的不是怎么具体去实现或者告诉你代码,是告诉你思路,怎么具体来是非常自由的,就好像没有人告诉宇宙为什么要进行大爆炸一样或者银河里面的地球一定要放在金星的后面一样。
      

  2.   

    你可以在当前窗口下再创建一个窗口
    jFrame frame=new jFrame();//这个类就得你自己写了
    public void actionPerformd(ActionEvent e){
    frame.text.setText(String s);//text 为一个文本框 也可以是其它的 s 是你要写入那个窗口中的字符}
      

  3.   

    to:liuguangliang(亮) 首先感谢你的回答
    可是现在还有问题是这样的
    添加一个“提交”按钮,实现当击该按钮的时候在另一个窗口内以另外的形式显示输入的内容。这个要怎样实现呢?
    这个需要怎么写呢?
      

  4.   

    要在另一个窗口以另外的形式
    那就是另一个JFrame
    上面是另一个布局管理器,另一些组件,和原来的不一样
    具体要怎么实现,就要看你的需要了
    比如点一个按钮
    new JButton().addActionListener(this/*或者*/new a());
    class a implements ActionListener {
     public void actionPerformed(ActionEvent e) {
      //新窗口
      new 新窗口类名().setVisible(true);
     }
    }
    //新窗口类
    class A extends JFrame {
     //下面是你要怎么实现的代码
    }
      

  5.   

    to: zhaohao19853(贱人)
    谢谢你哦
    那如何实现另一个窗口内以另外的形式显示前面那个个人简历界面里输入的内容的呢?
    需要多个监听吗,可是是要点按钮后才在另外的窗口一次显示出来的哦
      

  6.   

    原来的界面,文本框上的值可以用getText().trim()方法得到的
    可以通过构造器传,也可以把原来的文本框组件设置静态的
    比如原来的
    JTextField text = new JTextField();
    通过构造器,比如弹出的界面类名为Test
    你点了按钮
    new Test(text.getText().trim()).setVisible(true);
    还有设置为静态
    static JTextField text = new JTextField();
    在弹出的界面类里直接原来的类名调用
    比如原来的类名为T
    那就是T.text.getText().trim()
      

  7.   

    to: zhaohao19853(贱人) 
    再次感谢你的回答我是初学者,不知道你有没有时间,如果有的话,可以简单的写一下新的窗口里(比如原来的类设置为静态的,那该怎么写,进行调用呢)
    原来的界面里有复选框,单选框,还有下拉列表框,以及文本框,和文本区(这个该怎么样调用呢?还是没有相关事件监听的呢?)麻烦你了,谢谢啊!
    五一快乐!
      

  8.   

    to: zhaohao19853(贱人)
    static JTextField text = new JTextField();
    这样好像不行哦??
      

  9.   

    //原来的窗口
    public class Test extends JFrame implements ActionListener{
      public Test() {
        //这里都是一些布局的,我就写一个JTextField做样子
        JTextField text = new JTextField();
      }
      public void actionPerformed(ActionEvent e) {
       //按钮出发事件,点击按钮的时候,弹出新界面
       T.text1.setText(text.getText().trim());
      }
    }
    //新界面的类
    public class T extends JFrame() {
      static JTextField text1 = new JTextField();
      public T() {
       //一些布局,还拿JTextField做样子
      }
    }
    其他的组件都是一样使用
      

  10.   

    to: zhaohao19853(贱人
    还是不行哦还有一个java文件里怎么能有两个public呢
      

  11.   

    to: zhaohao19853(贱人) 现在基本差不多了
    可是还有个问题是在前面的界面里有个文本区,而这个好像没有相关的监听器哦,有什么办法,可以在新窗口里把在文本区里输入的信息也一同显示出来呢?
      

  12.   

    public void actionPerformed(ActionEvent e) {
       //按钮出发事件,点击按钮的时候,弹出新界面
     //例如你现在窗口的文本区名字是text1;另一个窗口中的文本区也是text1;另和个窗口是t;
    t.text1.setText(text1.getText());
      }
    文本区不用添置监听器  
    只要给按纽添加就好了
    你可以只加一个监听器 其它的代码都在 它对映的方法中实现 
      

  13.   

    to: liuguangliang(亮) 
    谢谢,我现在试一下先
      

  14.   

    "public class Test extends JFrame implements ActionListener"
    ==================================================================
    各位尽量不要使用这种方式来运行一个Swing App。这种使用继承的方式实在是太糟了。你真的是需要一个JFrame的子类吗?你完全可以这样用:
    public class Test {
      JFrame frame;
      ...
    }