Как добавить JScrollPane в JInternalFrame?

1

У меня уже есть JInternalFrame с кнопками и текстовыми полями, но теперь я хочу добавить JScrollPane к этому внутреннему JScrollPane, и я не знаю, как это сделать.

Можно добавить JScrollPane без добавления всех компонентов в JInternalFrame? Как?

Благодарю!!

Я добавил кнопки и поля текстов в NetBeans, Design view.

  • 0
    нужно много больше информации, чтобы помочь. как вы добавили кнопки и текстовые поля? вы бы добавили полосу прокрутки аналогичным образом.
  • 0
    Чтобы быстрее помочь, опубликуйте MCVE (Минимальный завершенный и проверяемый пример).
Показать ещё 2 комментария
Теги:
swing
jinternalframe

1 ответ

4
Лучший ответ

Очень простой пример создания JScrollPane и добавления JPanel в его окно просмотра, а затем добавить его в JInternalFrame:

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JInternalFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class AddStuffToScrollPane {
   public static void main(String[] args) {
      JPanel panel = new JPanel(new BorderLayout());
      panel.add(new JTextArea(20, 30), BorderLayout.CENTER);
      panel.add(new JPanel(new GridLayout(1, 0)) {
         {
            add(new JButton("Foo"));
            add(new JButton("Bar"));
         }
      }, BorderLayout.PAGE_END);
      JScrollPane scrollPane = new JScrollPane(panel);

      JInternalFrame internalFrame = new JInternalFrame("InternalFrame", true,
            true);
      internalFrame.getContentPane().add(scrollPane);
      internalFrame.setPreferredSize(new Dimension(200, 200));
      internalFrame.setSize(internalFrame.getPreferredSize());
      internalFrame.setVisible(true);
      JDesktopPane desktopPane = new JDesktopPane();
      desktopPane.setPreferredSize(new Dimension(400, 400));
      desktopPane.add(internalFrame);
      JOptionPane.showMessageDialog(null, desktopPane);
   }
}

Самое важное - получить домашнее сообщение, которое вы должны получить, если ничего не получите: передайте свои классы GUI в сторону создания JPanels, а не JFrames, а не JInternalFrames. Если вы можете создать достойный JPanel, вы можете поместить его куда угодно: внутри JFrame, или JInternalFrame, или JScrollPane,... где угодно!

  • 0
    Большое спасибо!!!!!!!!! Гений ха ха ха

Ещё вопросы

Сообщество Overcoder
Наверх
Меню