import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class SwingTest extends JFrame{
JPanel jp1,jp2;
JLabel[] jl=new JLabel[20];
JTextField[] jt=new JTextField[20];
JMenu jm1,jm2;
JMenuBar jmb;
JButton jb=new JButton("进入考试系统");
JButton jc=new JButton("退出");
int count=0;
public SwingTest(){
Container c=getContentPane();
jm1=new JMenu("file");
jm2=new JMenu("help");
jmb=new JMenuBar();
jp1=new JPanel();
jp2=new JPanel();
jp2.setLayout(null);
for(int i=0;i<jl.length;i++){
jl[i]=new JLabel();
jt[i]=new JTextField();
}
jb.addActionListener(new doit());
jp1.add(jb);
for(int j=0;j<jl.length;j++){
int k=j%5;
if(k==5)
count++;
jt[j].setBounds(20+100*k,35*(count+1),40,25);
jl[j].setBounds(100+100*k,35*(count+1),40,25);
}
for(int k=0;k<jl.length;k++){
jp2.add(jt[k]);
jp2.add(jl[k]);
}
JMenuItem m1=new JMenuItem("start");
JMenuItem m2=new JMenuItem("finish");
JMenuItem m3=new JMenuItem("quit");
jm1.add(m1);
jm1.add(m2);
jm1.add(m3);
jmb.add(jm1);
jmb.add(jm2);
setJMenuBar(jmb);
jp1.setVisible(true);
jp2.setVisible(false);
c.add(jp2);
c.add(jp1);
}
private class doit implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource()==jb)
jp1.setVisible(false);
jp2.setVisible(true);
}
}
public static void main(String args[]){
JFrame jf=new SwingTest();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(300,300);
jf.setVisible(true);
}
}为什么jp2 中添加的东西不能显示啊, 帮忙看一下
import java.awt.event.*;
import java.awt.*;
public class SwingTest extends JFrame{
JPanel jp1,jp2;
JLabel[] jl=new JLabel[20];
JTextField[] jt=new JTextField[20];
JMenu jm1,jm2;
JMenuBar jmb;
JButton jb=new JButton("进入考试系统");
JButton jc=new JButton("退出");
int count=0;
public SwingTest(){
Container c=getContentPane();
jm1=new JMenu("file");
jm2=new JMenu("help");
jmb=new JMenuBar();
jp1=new JPanel();
jp2=new JPanel();
jp2.setLayout(null);
for(int i=0;i<jl.length;i++){
jl[i]=new JLabel();
jt[i]=new JTextField();
}
jb.addActionListener(new doit());
jp1.add(jb);
for(int j=0;j<jl.length;j++){
int k=j%5;
if(k==5)
count++;
jt[j].setBounds(20+100*k,35*(count+1),40,25);
jl[j].setBounds(100+100*k,35*(count+1),40,25);
}
for(int k=0;k<jl.length;k++){
jp2.add(jt[k]);
jp2.add(jl[k]);
}
JMenuItem m1=new JMenuItem("start");
JMenuItem m2=new JMenuItem("finish");
JMenuItem m3=new JMenuItem("quit");
jm1.add(m1);
jm1.add(m2);
jm1.add(m3);
jmb.add(jm1);
jmb.add(jm2);
setJMenuBar(jmb);
jp1.setVisible(true);
jp2.setVisible(false);
c.add(jp2);
c.add(jp1);
}
private class doit implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource()==jb)
jp1.setVisible(false);
jp2.setVisible(true);
}
}
public static void main(String args[]){
JFrame jf=new SwingTest();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(300,300);
jf.setVisible(true);
}
}为什么jp2 中添加的东西不能显示啊, 帮忙看一下
c.setLayout(new GraidLayout(2,1));加了过可以显示出来你看看:你这个我小改了一下
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class test extends JFrame{
JPanel jp1,jp2;
JLabel[] jl=new JLabel[20];
JTextField[] jt=new JTextField[20];
JMenu jm1,jm2;
JMenuBar jmb;
JButton jb=new JButton("进入考试系统");
JButton jc=new JButton("退出");
int count=0;
public test(){
Container c=getContentPane();
c.setLayout(new GridLayout(2,1));
jm1=new JMenu("file");
jm2=new JMenu("help");
jmb=new JMenuBar();
jp1=new JPanel();
jp2=new JPanel();
jp2.setLayout(null);
for(int i=0;i <jl.length;i++){
jl[i]=new JLabel("标簦"+String.valueOf(i+1));
jt[i]=new JTextField();
}
jb.addActionListener(new doit());
jp1.add(jb);
for(int j=0;j <jl.length;j++){
int k=j%5;
jt[j].setBounds(20+100*k,50*(count+1),40,25);
jl[j].setBounds(70+100*k,50*(count+1),40,25);
if(k==4)
count++;
}
for(int k=0;k <jl.length;k++){
jp2.add(jt[k]);
jp2.add(jl[k]);
}
JMenuItem m1=new JMenuItem("start");
JMenuItem m2=new JMenuItem("finish");
JMenuItem m3=new JMenuItem("quit");
jm1.add(m1);
jm1.add(m2);
jm1.add(m3);
jmb.add(jm1);
jmb.add(jm2);
setJMenuBar(jmb);
jp1.setVisible(true);
jp2.setVisible(false);
c.add(jp1);
c.add(jp2);
}
private class doit implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource()==jb)
jp1.setVisible(false);
jp2.setVisible(true);
}
}
public static void main(String args[]){
JFrame jf=new test();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(600,600);
jf.setVisible(true);
}
}