JPanel внутри JPanel не будет изменять размер с помощью setSize()? Активные менеджеры компоновки также не используются.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 JPanel внутри JPanel не будет изменять размер с помощью setSize()? Активные менеджеры компоновки также не используются.

Сообщение Гость »

В настоящее время я пытаюсь создать 3 панели в рамке, расположенной с помощью GridLayout(), и каждая из 3 панелей будет иметь внутри свои собственные панели, содержащие текст. Самая верхняя панель будет содержать только одну строку (поддельный адрес электронной почты), а панель под ней будет содержать содержимое электронного письма. Однако, когда я пытаюсь установить senderPanel (панель внутри другой панели), размер панели не меняется и остается нулевым.
` Private void showLastJFrame(WindowAdapter windowAdapter){
JFrameframe3 = новый JFrame();
frame3.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); // Мы не хотим выходить из всей программы при закрытии кадра 2
frame3.setLayout(new GridLayout(1,3));

Код: Выделить всё

    frame3.setSize(1600, 900);
frame3.addWindowListener(windowAdapter);
frame3.setVisible(true);

JPanel panel1 = new JPanel();
panel1.setSize(new Dimension(frame3.getWidth()/3,900));
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();

// Set bounds and background color
panel1.setBackground(null);

panel2.setBackground(new Color(100,255,100));

panel3.setBackground(new Color(100,100,255));

String[] test = makeEmail.getEmail();
System.out.println(test[1]);

// Add labels to panels

JPanel senderPanel = new JPanel();
JLabel senderLabel  = new JLabel(test[1]);
senderPanel.setBackground(Color.ORANGE);
senderPanel.setOpaque(true);
senderPanel.setSize(new Dimension(panel1.getWidth(),100));
System.out.println(senderPanel.getSize());
panel1.add(senderPanel);
// senderPanel.add(senderLabel);
System.out.println(panel1.getWidth()+ "" + panel1.getHeight());
//  JPanel bodyPanel = new JPanel();
//JLabel bodyLabel = new JLabel(test[2]);

//bodyPanel.add(bodyLabel);

// panel1.add(bodyLabel);`
Я уже пробовал создать сетку внутри каждой панели, чтобы появлялась подпанель (senderPanel), и это сработало, однако я не могу изменить их размер. Я также уже использовал setSize() на панели1 (главной панели), чтобы попытаться задать справочные размеры подпанелей, чтобы я мог их подогнать. Кроме того, я попытался использовать FlowLayout() для senderPanel, но это также не изменило его размер.

Подробнее здесь: https://stackoverflow.com/questions/784 ... ut-manager
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»