0
두 번째 JPanel에 구성 요소를 추가하면 이러한 문제가 발생합니다.구성 요소가 두 번째로 표시되지 않습니다. JPanel
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class TestSeleccionJugadores2 extends JPanel {
JPanel jpJugador1 = new JPanel();
JPanel jpJugador2 = new JPanel();
TitledBorder titledBorder1 = new TitledBorder("Jugador 1");
TitledBorder titledBorder2 = new TitledBorder("Jugador 2");
Font font1 = new Font("Microsoft JhengHei UI Light", Font.PLAIN + Font.BOLD, 14);
Font font2 = new Font("Microsoft JhengHei UI Light", Font.PLAIN, 13);
JLabel jlJ1 = new JLabel("Es un(a)");
JLabel jlJ2 = new JLabel("Es un(a)");
JLabel jlJ1Nombre = new JLabel("llamada(o)");
JLabel jlJ2Nombre = new JLabel("llamada(o)");
JComboBox<String> opciones1 = new JComboBox<>(new String[] {"Hombre", "Mujer", "Otro"});
JComboBox<String> opciones2 = new JComboBox<>(new String[] {"Hombre", "Mujer", "Otro"});
JTextField nombreJ1 = new JTextField("Jugador 1", 5);
JTextField nombreJ2 = new JTextField("Jugador 2", 5);
public TestSeleccionJugadores2() {
jpJugador1.setLayout(null);
jpJugador2.setLayout(null);
setLayout(null);
jpJugador1.setBounds(10, 25, 200, 100);
jpJugador2.setBounds(10, 120, 200, 100);
setBounds(0,0,300, 300);
titledBorder1.setTitleFont(font1);
titledBorder2.setTitleFont(font1);
jpJugador1.setBorder(titledBorder1);
jpJugador2.setBorder(titledBorder2);
opciones1.setSelectedItem("Otro");
opciones2.setSelectedItem("Otro");
jlJ1.setBounds(10, 30, 80, 20);
opciones1.setBounds(95, 30, 80, 20);
jlJ1Nombre.setBounds(10, 55, 80, 20);
nombreJ1.setBounds(95, 55, 80, 20);
//These are showing in both JPanels.
jlJ2.setBounds(10, 125, 80, 20);
opciones2.setBounds(95, 125, 80, 20);
jlJ2Nombre.setBounds(10, 155, 80, 20);
nombreJ2.setBounds(95, 155, 80, 20);
//Second components.
jpJugador2.add(jlJ2);
jpJugador2.add(opciones2);
jpJugador2.add(jlJ2Nombre);
jpJugador2.add(nombreJ2);
jpJugador1.add(jlJ1);
jpJugador1.add(opciones2);
jpJugador1.add(jlJ1Nombre);
jpJugador1.add(nombreJ1);
add(jpJugador2);
add(jpJugador1);
}
}
초 구성 요소가 JPanel에 표시되지 않습니다. 첫 번째 JPanel에 추가 한 것과 같은 문제가 있습니다. 다른 클래스에서는 main 메서드를 사용하여 JPANel을 프레임에 추가합니다.
'null' 레이아웃 것 당신은 두 패널에'opciones2'를 추가하려고했습니다 – MadProgrammer
문제의 첫 번째 가정에 의해. 그것은 오직 하나 안에있을 수 있습니다. – AJNeufeld
구성 요소는 하나의 컨테이너에만있을 수 있습니다. 두 번째 컨테이너에 구성 요소를 추가하려고하면 현재 컨테이너에서 자동으로 제거됩니다. – MadProgrammer