布局无法按需工作
Layout not working as needed
我没有按照我想要的方式得到它。我希望所有 10 个标签都以网格方式排列,但我不明白。请帮助我。
JFrame jf=new JFrame("Test me");
GridLayout gl=new GridLayout(5,5,20,20);
jf.setLayout(gl);
jf.setSize(500, 500);
jf.setVisible(true);
JLabel jp =new JLabel("ab");
jf.add(jp);
jf.add(jp);
jf.add(jp);
jf.add(jp);
jf.add(jp);
jf.add(jp);
jf.add(jp);
jf.add(jp);
jf.add(jp);
jf.add(jp);
首先,
您不能多次添加同一个组件,因为您指的是同一个对象...在这种情况下,jp 总是指同一个对象。多次添加同一个对象会使同一个对象具有不同的属性(即不同的 x 和 y 坐标)在同一时间..这不会发生..
如@null saint 所述,您需要将 JLabel 添加到框架中。
当我告诉您需要将 JLabel 添加到 gridlayout 时,我错了。
根据您的代码:-
JFrame jf=new JFrame("Test me");
GridLayout gl=new GridLayout(5,5,20,20);
jf.setLayout(gl);
jf.setSize(500, 500);
jf.setVisible(true);
// create 10 new JLabel
JLabel jp =new JLabel("ab");
JLabel jp1 =new JLabel("ab");
JLabel jp2 =new JLabel("ab");
JLabel jp3 =new JLabel("ab");
JLabel jp4 =new JLabel("ab");
JLabel jp5 =new JLabel("ab");
JLabel jp6 =new JLabel("ab");
JLabel jp7 =new JLabel("ab");
JLabel jp8 =new JLabel("ab");
JLabel jp9 =new JLabel("ab");
// add all 10
jf.add(jp);
jf.add(jp1);
jf.add(jp2);
jf.add(jp3);
jf.add(jp4);
jf.add(jp5);
jf.add(jp6);
jf.add(jp7);
jf.add(jp8);
jf.add(jp9);
// Packs all components neatly in the Frame
jf.pack();
我没有按照我想要的方式得到它。我希望所有 10 个标签都以网格方式排列,但我不明白。请帮助我。
JFrame jf=new JFrame("Test me");
GridLayout gl=new GridLayout(5,5,20,20);
jf.setLayout(gl);
jf.setSize(500, 500);
jf.setVisible(true);
JLabel jp =new JLabel("ab");
jf.add(jp);
jf.add(jp);
jf.add(jp);
jf.add(jp);
jf.add(jp);
jf.add(jp);
jf.add(jp);
jf.add(jp);
jf.add(jp);
jf.add(jp);
首先,
您不能多次添加同一个组件,因为您指的是同一个对象...在这种情况下,jp 总是指同一个对象。多次添加同一个对象会使同一个对象具有不同的属性(即不同的 x 和 y 坐标)在同一时间..这不会发生..
如@null saint 所述,您需要将 JLabel 添加到框架中。 当我告诉您需要将 JLabel 添加到 gridlayout 时,我错了。
根据您的代码:-
JFrame jf=new JFrame("Test me");
GridLayout gl=new GridLayout(5,5,20,20);
jf.setLayout(gl);
jf.setSize(500, 500);
jf.setVisible(true);
// create 10 new JLabel
JLabel jp =new JLabel("ab");
JLabel jp1 =new JLabel("ab");
JLabel jp2 =new JLabel("ab");
JLabel jp3 =new JLabel("ab");
JLabel jp4 =new JLabel("ab");
JLabel jp5 =new JLabel("ab");
JLabel jp6 =new JLabel("ab");
JLabel jp7 =new JLabel("ab");
JLabel jp8 =new JLabel("ab");
JLabel jp9 =new JLabel("ab");
// add all 10
jf.add(jp);
jf.add(jp1);
jf.add(jp2);
jf.add(jp3);
jf.add(jp4);
jf.add(jp5);
jf.add(jp6);
jf.add(jp7);
jf.add(jp8);
jf.add(jp9);
// Packs all components neatly in the Frame
jf.pack();