当前位置: 代码迷 >> Java相关 >> 高手求解swing组件不能使用
  详细解决方案

高手求解swing组件不能使用

热度:379   发布时间:2013-05-16 16:03:03.0
高手求解swing组件不能使用
为什么 姓名写改器 的JTextFile无法显示?
程序代码:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class qwe extends JFrame {
    JPanel jp1 = new JPanel();
    JPanel jp2 = new JPanel();
    public qwe(){
        JTextField jtf=new  JTextField(10);
   
        jp1.setLayout(new GridLayout(1, 2));
        jp1.add(new JLabel("姓名"));
        jp1.add(jtf);
   
        jp2.setLayout(new GridLayout(1, 2));
        jp2.add(new JLabel("年级"));
        jp2.add(jtf);
        JFrame xhayFrame = new JFrame();
        JButton name = new JButton("姓名修改器");
        JButton classof = new JButton("年级修改器");
        xhayFrame.add(name);
        xhayFrame.add(classof);
        xhayFrame.setLayout(new FlowLayout());
        xhayFrame.setVisible(true);
        xhayFrame.pack();
        xhayFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        name.addActionListener(new ActionListener() {
      
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                JFrame xasFrame = new JFrame();
                xasFrame.add(jp1);
                xasFrame.pack();
                xasFrame.setVisible(true);
            }
        });
        classof.addActionListener(new ActionListener() {
      
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                JFrame xasFrame = new JFrame();
                xasFrame.add(jp2);
                xasFrame.pack();
                xasFrame.setVisible(true);
            }
        });
    }
    public static void main(String[] args){
        new qwe();
    }
}

搜索更多相关的解决方案: 姓名  public  

----------------解决方案--------------------------------------------------------
什么是swing组件???
----------------解决方案--------------------------------------------------------
你这个每点一下,都会出来一个,没有不显示的问题。
----------------解决方案--------------------------------------------------------
回复 3楼 ren829
那个姓名修改器打开后没有那个JtextFile的输入文本的框啊。。不是的么?为什么这个歌不能显示?
----------------解决方案--------------------------------------------------------
回复 2楼 伙伴
你看下这代码有什么错吧
----------------解决方案--------------------------------------------------------
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class qwe extends JFrame {
    JPanel jp1 = new JPanel();
    JPanel jp2 = new JPanel();
    public qwe(){
        JTextField jtf=new  JTextField(10);
        JTextField jtf1=new  JTextField(10);   //楼主注意
   
        jp1.setLayout(new GridLayout(1, 2));
        jp1.add(new JLabel("姓名"));
        jp1.add(jtf1);     //楼主注意
   
        jp2.setLayout(new GridLayout(1, 2));
        jp2.add(new JLabel("年级"));
        jp2.add(jtf);
        JFrame xhayFrame = new JFrame();
        JButton name = new JButton("姓名修改器");
        JButton classof = new JButton("年级修改器");
        xhayFrame.add(name);
        xhayFrame.add(classof);
        xhayFrame.setLayout(new FlowLayout());
        xhayFrame.setVisible(true);
        xhayFrame.pack();
        xhayFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        name.addActionListener(new ActionListener() {
      
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                JFrame xasFrame = new JFrame();
                xasFrame.add(jp1);
                xasFrame.pack();
                xasFrame.setVisible(true);
            }
        });
        classof.addActionListener(new ActionListener() {
      
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                JFrame xasFrame = new JFrame();
                xasFrame.add(jp2);
                xasFrame.pack();
                xasFrame.setVisible(true);
            }
        });
    }
    public static void main(String[] args){
        new qwe();
    }
}
楼主注意红色字体前面的代码,你少定义了一个JTextField,当然在点击“姓名修改器”的时候不能显示文本框。
就我现在来看,貌似定义了一个JTextField之后是不能重复利用的。我每次都要在、重复定义好多,如果可以重复利用的话那就可以省去好多东西。不好意思,我也是菜鸟,共同探讨,共同进步,见笑了


[ 本帖最后由 阿里那个巴巴 于 2013-5-16 19:12 编辑 ]
----------------解决方案--------------------------------------------------------