我用JFrame弄了个框架,setLayout(null),然后在它上面放了几个JPanel,有的JPanel当中会放入JButton
和JLabel等一些小东西,而有些JLabel中也会放入图片~~~~~~
现在问题来了:为什么我运行后,这些JButton,JLabel,以及放在他们当中的图片和更改的颜色不会显示出来,而当我最小化,再最大化后才会显示!!!!!!!
和JLabel等一些小东西,而有些JLabel中也会放入图片~~~~~~
现在问题来了:为什么我运行后,这些JButton,JLabel,以及放在他们当中的图片和更改的颜色不会显示出来,而当我最小化,再最大化后才会显示!!!!!!!
import java.awt.*;
import javax.swing.*;public class sy extends JFrame{
public sy(){
this.setResizable(false);
this.setTitle("sy");
this.setSize(800,610);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int centerX=screenSize.width/2;
int centerY=screenSize.height/2;
this.setLocation(centerX-400, centerY-300);
this.setVisible(true);
this.setIconImage(new ImageIcon("1.jpg").getImage());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ImageIcon img = new ImageIcon("2.jpg");
JLabel j1 = new JLabel();
j1.setBounds(new Rectangle(0,0,800,570));
j1.setIcon(img);
JToggleButton jb1 = new JToggleButton("sy");
jb1.setFont(new Font("Agency FB",Font.BOLD,30));
jb1.setBackground(Color.pink);
jb1.setForeground(Color.black);
jb1.setCursor(new Cursor(Cursor.HAND_CURSOR));
jb1.setContentAreaFilled(false);
jb1.setBorderPainted(false); //不显示边框
jb1.setBounds(new Rectangle(608,510,200,50));
img = new ImageIcon("1.gif");
JLabel j0 = new JLabel();
j0.setIcon(img);
j0.setBounds(new Rectangle(10,0,240,240));
this.add(j0);
this.add(jb1);
this.add(j1);
}
public static void main(String[] args){
new sy();
}}
import java.awt.*;
import javax.swing.*;public class SimpleTest extends JFrame{
private ImageIcon image;
private JLabel lable;
private JPanel panel;
public SimpleTest(){
super("Test JLabel");
image = new ImageIcon("C:/2_lxcnn.jpg");
lable = new JLabel(image);
panel = new JPanel(new BorderLayout());
panel.add(lable, BorderLayout.SOUTH);
add(panel);
setSize(600, 400);
setVisible(true);
}
public static void main(String args[]){
new SimpleTest();
}
}
这句话写在构造方法最下面试一下