Java Swing | Внутренний каркас с примерами

Опубликовано: 13 Февраля, 2022

JInternalFrame является частью Java Swing. JInternalFrame - это контейнер, который предоставляет множество функций фрейма, включая отображение заголовка, открытие, закрытие, изменение размера, поддержку строки меню и т. Д.
Конструкторы для JInternalFrame

  1. JInternalFrame () : создает новый не закрываемый, не изменяемый размер, не масштабируемый, не максимизируемый JInternalFrame без заголовка.
  2. JInternalFrame (String t) : создает новый не закрываемый, неизменяемый размер, не-иконифицируемый, немаксимизируемый JInternalFrame с указанным заголовком.
  3. JInternalFrame (String t, boolean resizable) : создает новый не закрываемый, не иконифицируемый, немаксимизируемый JInternalFrame с указанным заголовком и возможностью изменения размера.
  4. JInternalFrame (String t, boolean resizable, boolean closable) : создает новый не-иконифицируемый, немаксимизируемый JInternalFrame с указанием заголовка, возможности закрытия и изменения размера
  5. JInternalFrame (String t, boolean resizable, boolean closable, boolean maximizable) : создает новый не иконифицируемый JInternalFrame с указанием заголовка, возможности закрытия, максимизации и изменения размера
  6. JInternalFrame (String t, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable) : создает новый JInternalFrame с указанием заголовка, возможности закрытия, максимизации, масштабируемости и масштабируемости

Часто используемые методы

  1. setFrameIcon (Значок значка) : устанавливает значок для кадра на указанное изображение
  2. setLayout (менеджер LayoutManager) : устанавливает компоновку фрейма для указанного менеджера компоновки
  3. setTitle (String t) : установить заголовок фрейма для указанного заголовка
  4. getTitle () : получить заголовок кадра
  5. reshape (int x, int y, int width, int height) : изменить размер рамки до указанной ширины и высоты и указанного местоположения
  6. add (Component c) : добавляет указанный компонент в контейнер.
  7. addImpl (Component c, Object co, int i) : добавляет указанный компонент.
  8. addInternalFrameListener (InternalFrameListener l) : добавляет указанный InternalFrameListener в список.
  9. createRootPane () : вызывается конструктором для настройки JRootPane.
  10. dispose () : делает этот внутренний фрейм невидимым, невыделенным и закрытым.
  11. fireInternalFrameEvent (int id) : запускает событие внутреннего кадра.
  12. getAccessibleContext () : получает AccessibleContext, связанный с этим JInternalFrame.
  13. getContentPane () : возвращает панель содержимого для этого внутреннего фрейма.
  14. getDefaultCloseOperation () : возвращает операцию по умолчанию, которая происходит, когда пользователь инициирует «закрытие» этого внутреннего фрейма.
  15. getDesktopIcon () : возвращает JDesktopIcon, используемый при значении этого JInternalFrame.
  16. getDesktopPane () : удобный метод, который ищет в иерархии предков экземпляр JDesktop.
  17. getFocusOwner () : если этот JInternalFrame активен, возвращает дочерний элемент, у которого есть фокус.
  18. getFrameIcon () : возвращает изображение, отображаемое в строке заголовка этого внутреннего фрейма
  19. getGlassPane () : возвращает стеклянную панель для этого внутреннего фрейма.
  20. getInternalFrameListeners () : возвращает массив всех InternalFrameListeners, добавленных в этот JInternalFrame с помощью addInternalFrameListener
  21. getJMenuBar () : возвращает текущий JMenuBar для этого JInternalFrame
  22. getLastCursor () : возвращает последний курсор, который был установлен методом setCursor
  23. getLayer () : удобный метод для получения атрибута слоя этого компонента.
  24. getLayeredPane () : возвращает многоуровневую панель для этого внутреннего фрейма.
  25. getMostRecentFocusOwner () : возвращает дочерний компонент этого JInternalFrame, который получит фокус при выборе этого JInternalFrame.
  26. getNormalBounds () : если JInternalFrame не в развернутом состоянии, возвращает getBounds (); в противном случае возвращает границы, до которых будет восстановлен JInternalFrame.
  27. getRootPane () : возвращает объект rootPane для этого внутреннего фрейма.
  28. getUI () : возвращает объект внешнего вида, который отображает этот компонент.
  29. getWarningString () : получает строку предупреждения, которая отображается с этим внутренним фреймом.
  30. isClosable () : возвращает, можно ли закрыть этот JInternalFrame каким-либо действием пользователя.
  31. isClosed () : возвращает, закрыт ли этот JInternalFrame в данный момент.
  32. isIcon () : возвращает, обозначен ли JInternalFrame в настоящее время в виде значка.
  33. isMaximizable () : получает значение свойства максимизации.
  34. isMaximum () : возвращает, развернут ли JInternalFrame в данный момент.
  35. isResizable () : возвращает, можно ли изменить размер JInternalFrame.
  36. isSelected () : возвращает, является ли JInternalFrame текущим активным кадром или нет.
  37. pack () : заставляет компоненты этого JInternalFrame располагаться в их предпочтительном размере.
  38. paintComponent (Graphics g) : переопределено для оптимизации рисования при перетаскивании внутренней рамки.
  39. paramString () : возвращает строковое представление этого JInternalFrame.
  40. remove (Component c) : удаляет указанный компонент из контейнера.
  41. removeInternalFrameListener (InternalFrameListener l) : удаляет указанный внутренний прослушиватель кадров.
  42. setClosable (boolean b) : устанавливает, может ли этот JInternalFrame быть закрыт каким-либо действием пользователя.
  43. setContentPane (Container c) : устанавливает свойство contentPane этого JInternalFrame.
  44. setCursor (Cursor c) : устанавливает изображение курсора на указанный курсор.
  45. setDefaultCloseOperation (int o) : устанавливает операцию, которая будет выполняться по умолчанию, когда пользователь инициирует «закрытие» этого внутреннего фрейма.
  46. setDesktopIcon (JInternalFrame.JDesktopIcon d) : устанавливает JDesktopIcon, связанный с этим JInternalFrame.
  47. setGlassPane (Component g) : устанавливает свойство glassPane этого JInternalFrame.
  48. setIcon (boolean b) : превращает этот внутренний фрейм в иконку или де-икону.
  49. setJMenuBar (JMenuBar m) : устанавливает свойство menuBar для этого JInternalFrame.
  50. setIconifiable (boolean b) : устанавливает свойство iconable, которое должно быть истинным, чтобы пользователь мог сделать JInternalFrame значком.
  51. setJMenuBar (JMenuBar m) : устанавливает свойство menuBar для этого JInternalFrame.
  52. setLayer (int l) : удобный метод для установки атрибута слоя этого компонента.
  53. setLayer (Integer l) : удобный метод для установки атрибута слоя этого компонента.
  54. setLayeredPane (JLayeredPane l) : устанавливает свойство LayeredPane этого JInternalFrame.
  55. setMaximizable (boolean b) : устанавливает свойство maximizable, которое определяет, можно ли развернуть JInternalFrame каким-либо действием пользователя.
  56. setMaximum (логическое b) : разворачивает и восстанавливает этот внутренний фрейм.
  57. setNormalBounds (Rectangle r) : устанавливает нормальные границы для этого внутреннего кадра.
  58. setResizable (boolean b) : устанавливает, можно ли изменить размер JInternalFrame каким-либо действием пользователя.
  59. setRootPane (JRootPane r) : устанавливает свойство rootPane для этого JInternalFrame.
  60. setRootPaneCheckingEnabled (boolean e) : устанавливает, перенаправляются ли вызовы add и setLayout в contentPane.
  61. setSelected (boolean s) : выбирает или отменяет выбор внутреннего фрейма, если он отображается.
  62. setUI (InternalFrameUI ui) : устанавливает делегата пользовательского интерфейса для этого JInternalFrame.
  63. show () : делает внутреннюю рамку видимой.
  64. toBack () : отправляет этот внутренний фрейм на задний план.
  65. toFront () : переносит этот внутренний фрейм на передний план.
  66. updateUI () : уведомление от UIManager о том, что внешний вид изменился.

1. Program to create a simple JInternalFrame : 
 

Java

// java Program to create a simple JInternalFrame
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class solution extends JFrame {
 
    // frame
    static JFrame f;
 
    // label to display text
    static JLabel l;
 
    // main class
    public static void main(String[] args)
    {
        // create a new frame to
        f = new JFrame("frame");
 
        // create a internal frame
        JInternalFrame in = new JInternalFrame();
 
        // set the title of the frame
        in.setTitle("InternalFrame");
 
        // create a Button
        JButton b = new JButton("button");
 
        // create a label to display text
        l = new JLabel("This is a JInternal Frame  ");
 
        // create a panel
        JPanel p = new JPanel();
 
        // add label and button to panel
        p.add(l);
        p.add(b);
 
        // set visibility internal frame
        in.setVisible(true);
 
        // add panel to internal frame
        in.add(p);
 
        // add internal frame to frame
        f.add(in);
 
        // set the size of frame
        f.setSize(300, 300);
 
        f.show();
    }
}

Выход :

2. program to create multiple internal frames 
 

Java

// java Program to create multiple internal frames
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class solution extends JFrame {
 
    // frame
    static JFrame f;
 
    // label to display text
    static JLabel l, l1;
 
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("frame");
 
        // set layout of frame
        f.setLayout(new FlowLayout());
 
        // create a internal frame
        JInternalFrame in = new JInternalFrame("frame 1", true, true, true, true);
 
        // create a internal frame
        JInternalFrame in1 = new JInternalFrame("frame 2", true, true, true, true);
 
        // create a Button
        JButton b = new JButton("button");
        JButton b1 = new JButton("button1");
 
        // create a label to display text
        l = new JLabel("This is a JInternal Frame no 1  ");
        l1 = new JLabel("This is a JInternal Frame no 2  ");
 
        // create a panel
        JPanel p = new JPanel();
        JPanel p1 = new JPanel();
 
        // add label and button to panel
        p.add(l);
        p.add(b);
        p1.add(l1);
        p1.add(b1);
 
        // set visibility internal frame
        in.setVisible(true);
        in1.setVisible(true);
 
        // add panel to internal frame
        in.add(p);
        in1.add(p1);
 
        // add internal frame to frame
        f.add(in);
        f.add(in1);
 
        // set the size of frame
        f.setSize(300, 300);
 
        f.show();
    }
}

Выход :

3 . Program to create multiple frame and set icon to the frame 
 

Java

// java Program to create multiple frame and set icon to the frame
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class solution extends JFrame {
 
    // frame
    static JFrame f;
 
    // label to display text
    static JLabel l, l1;
 
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("frame");
 
        // set layout of frame
        f.setLayout(new FlowLayout());
 
        // create a internal frame
        JInternalFrame in = new JInternalFrame("frame 1",
                                 true, true, true, true);
 
        // create a internal frame
        JInternalFrame in1 = new JInternalFrame("frame 2",
                                   true, true, true, true);
 
        // set icon for internal frames
        in.setFrameIcon(new ImageIcon("f:/gfg.jpg"));
        in1.setFrameIcon(new ImageIcon("f:/gfg.jpg"));
 
        // create a Button
        JButton b = new JButton("button");
        JButton b1 = new JButton("button1");
 
        // create a label to display text
        l = new JLabel("This is a JInternal Frame no 1  ");
        l1 = new JLabel("This is a JInternal Frame no 2  ");
 
        // create a panel
        JPanel p = new JPanel();
        JPanel p1 = new JPanel();
 
        // add label and button to panel
        p.add(l);
        p.add(b);
        p1.add(l1);
        p1.add(b1);
 
        // set visibility internal frame
        in.setVisible(true);
        in1.setVisible(true);
 
        // add panel to internal frame
        in.add(p);
        in1.add(p1);
 
        // add internal frame to frame
        f.add(in);
        f.add(in1);
 
        // set the size of frame
        f.setSize(300, 300);
 
        f.show();
    }
}

Выход :

Примечание: указанная выше программа может не работать в онлайн-компиляторе, пожалуйста, используйте автономную IDE.

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .