p1 = new JPanel();
p1.add(c);
c.setVisible(true);
c.validate();
add(p1,BorderLayout.CENTER);
add(new Label("A[-1]E=EA"),BorderLayout.NORTH);
add(ok,BorderLayout.SOUTH);
setTitle("结果检测"); //设置窗口标题
setSize(25*n*Prec*4+10,45*n*2+16); //设置窗口尺寸
setLocation(150,100);
setVisible(true); //设置窗口可见
显示在窗口中的是一片空白,c是一个写有数字的jpanel对象.
但是如果不使用加载,直接用c代替p1的时候add(c,BorderLayout.CENTER);就可以正确显示内容.这是为什么
因为我需要在窗口中显示3个c,所以必须要加载,请问如何解决呢?!
p1.add(c);
c.setVisible(true);
c.validate();
add(p1,BorderLayout.CENTER);
add(new Label("A[-1]E=EA"),BorderLayout.NORTH);
add(ok,BorderLayout.SOUTH);
setTitle("结果检测"); //设置窗口标题
setSize(25*n*Prec*4+10,45*n*2+16); //设置窗口尺寸
setLocation(150,100);
setVisible(true); //设置窗口可见
显示在窗口中的是一片空白,c是一个写有数字的jpanel对象.
但是如果不使用加载,直接用c代替p1的时候add(c,BorderLayout.CENTER);就可以正确显示内容.这是为什么
因为我需要在窗口中显示3个c,所以必须要加载,请问如何解决呢?!
就是jframe
panel里面放panel这是绝对没有问题的。楼主不妨
p1.add(new JLabel("xxx"));
先测试一下,估计是c的问题引起!
panel里面放panel这是绝对没有问题的。 楼主不妨
p1.add(new JLabel("xxx"));
先测试一下,估计是c的问题引起!
c是事先声明了的一个jpanel对象,里面有内容,单独显示也是成功的
使用p1.add(new JLabel("xxx")); 是一定可以显示出xxx的,我已经试过了,
但是只要加的是jpanel的对象,就显示不出来了
p1.setForeground(Color.BLACK);
p1.fillRect(left, top, width, height);
p1.setForeground(Color.BLACK);
c.setBackground(Color.green);
看看
p1.fillRect(left, top, width, height);p1.setForeground(Color.BLACK);
c.setBackground(Color.green); 都不行啊,我过了
下我构造了一个MyPanel(double a[][],int b,int c)
然后我声明了一组MyPanel cresult = new MyPanel(result,R,Prec);
MyPanel crelem = new MyPanel(relem,R,Prec);
MyPanel cE = new MyPanel(E,R,Prec);
被函数来调用 new Myshow(cresult,crelem,cE ,R,Prec,"!!");
public class Myshow extends JFrame implements ActionListener
下我构造的一个 Myshow(JPanel a,JPanel b,JPanel c,int n,int Prec,String s)p1 = new JPanel();
p1.add(c);
add(p1,BorderLayout.CENTER);
add(new Label("A[-1]E=EA"),BorderLayout.NORTH);
add(ok,BorderLayout.SOUTH); setTitle("结果检测"); //设置窗口标题
setSize(25*n*Prec*4+10,45*n*2+16); //设置窗口尺寸
setLocation(150,100);
setVisible(true); //设置窗口可见
显示在窗口中的是一片空白,c是一个写有数字的jpanel对象.
但是如果不使用加载,直接用c代替p1的时候add(c,BorderLayout.CENTER);就可以正确显示内容.这是为什么
因为我需要在窗口中显示3个c,所以必须要加载,请问如何解决呢?!
import java.awt.*;
public class Test extends JFrame { public Test(){
JPanel p1 = new JPanel();
JPanel c = new JPanel();
c.add(new JLabel("你好"));
p1.add(c);
c.setVisible(true);
c.validate();
Container con=this.getContentPane();
con.setLayout(new BorderLayout());
con.add(p1,BorderLayout.CENTER);
con.add(new Label("A[-1]E=EA"),BorderLayout.NORTH);
con.add(new JButton("OK"),BorderLayout.SOUTH); setTitle("结果检测"); //设置窗口标题
//setSize(25*n*Prec*4+10,45*n*2+16); //设置窗口尺寸
setSize(400, 300);
setLocation(150,100);
setVisible(true); //设置窗口可见
}
public static void main(String[] args) {
new Test();
}}