高手求解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();
}
}
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();
}
}
----------------解决方案--------------------------------------------------------
什么是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 编辑 ]
----------------解决方案--------------------------------------------------------