package com.langsin.Game.Demo1;import java.awt.Choice;
import java.awt.Font;
import java.awt.TextField;
import java.io.File;import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;public class FrameOutOfGame { public static void main(String[] args) {
JFrame jf = new JFrame("欢迎来到**"); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
jf.setBounds(100, 20, 600, 700);
jf.setLayout(null);
// jf.setResizable(false);

// 加入背景图
ImageIcon ii = new ImageIcon("./background.jpg");
JLabel jl = new JLabel(ii);
jl.setIcon(ii);
jl.setBounds(0, 0, jf.getWidth(), jf.getHeight());// 这个就是绝对布局

//jp2
JPanel jp2=new JPanel();
jp2.setBounds(0, 0, jf.getWidth(), jf.getHeight());

jp2.add(jl);

jf.add(jp2);


// 透明 的图 JPanel 防止Label被覆盖
JPanel jp = new JPanel();
// jp.setOpaque(true);
jp.setBounds(0, 0, jf.getWidth(), jf.getHeight());
jp.setLayout(null); // 设置字体
Font font = new Font("楷体", Font.BOLD, 15); // 人物1 标签 Label
JLabel lb1 = new JLabel("玩家1");
lb1.setBounds(30, 50, 50, 20);
lb1.setFont(font); // 用户名1 Label
JLabel lb1_u = new JLabel("玩家1用户名:");
lb1_u.setBounds(120, 50, 100, 20);
lb1_u.setFont(font); // 用户1文本区 TextField
TextField tf1 = new TextField("玩家1");
tf1.setBounds(230, 50, 150, 20); // 人物选择1 Label
JLabel lb1_ps = new JLabel("人物选择:");
lb1_ps.setBounds(120, 105, 80, 20);
lb1_ps.setFont(font); // 下拉框1 Choice
Choice c1 = new Choice();
c1.setBounds(230, 105, 150, 20);
c1.addItem("人物1 "); // 玩家2 选择标签 Label
JLabel lb2 = new JLabel("玩家2");
lb2.setBounds(30, 170, 60, 20);
lb2.setFont(font);
lb2.setFont(font); // 用户名2文本区 TextField
TextField tf2 = new TextField("玩家2");
tf2.setBounds(230, 170, 150, 20); // 用户名2 Label
JLabel lb2_u = new JLabel("玩家2用户名:");
lb2_u.setBounds(120, 170, 150, 20);
lb2_u.setFont(font); // 人物选择2 Label
JLabel lb2_ps = new JLabel("人物选择:");
lb2_ps.setBounds(120, 235, 80, 20);
lb2_ps.setFont(font); // 下拉2 Choice
Choice c2 = new Choice();
c2.setBounds(230, 235, 150, 20);
c2.addItem("人物1 "); // 场景选择
JLabel lb_sc = new JLabel("场景选择:");
lb_sc.setBounds(30, 355, 80, 20);
lb_sc.setFont(font); // 添加
jp.add(lb1);
jp.add(lb1_ps);
jp.add(lb2);
jp.add(lb2_ps);
jp.add(lb1_u);
jp.add(lb2_u);
jp.add(lb_sc);
jp.add(tf1);
jp.add(tf2);
jp.add(c1);
jp.add(c2); jf.add(jp); }}第一问:  为什么 文字被覆盖了而文本框没被覆盖 ?  我错在哪?第二问: 为什么 有时候一出来 很多东西都不会出来   ,要放大/缩小 触发某种事件 才能正确显示?
知之者答,不知者着好自为之    回答价值标记给分