Java Swing | Внутренний каркас с примерами
JInternalFrame является частью Java Swing. JInternalFrame - это контейнер, который предоставляет множество функций фрейма, включая отображение заголовка, открытие, закрытие, изменение размера, поддержку строки меню и т. Д.
Конструкторы для JInternalFrame
- JInternalFrame () : создает новый не закрываемый, не изменяемый размер, не масштабируемый, не максимизируемый JInternalFrame без заголовка.
- JInternalFrame (String t) : создает новый не закрываемый, неизменяемый размер, не-иконифицируемый, немаксимизируемый JInternalFrame с указанным заголовком.
- JInternalFrame (String t, boolean resizable) : создает новый не закрываемый, не иконифицируемый, немаксимизируемый JInternalFrame с указанным заголовком и возможностью изменения размера.
- JInternalFrame (String t, boolean resizable, boolean closable) : создает новый не-иконифицируемый, немаксимизируемый JInternalFrame с указанием заголовка, возможности закрытия и изменения размера
- JInternalFrame (String t, boolean resizable, boolean closable, boolean maximizable) : создает новый не иконифицируемый JInternalFrame с указанием заголовка, возможности закрытия, максимизации и изменения размера
- JInternalFrame (String t, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable) : создает новый JInternalFrame с указанием заголовка, возможности закрытия, максимизации, масштабируемости и масштабируемости
Часто используемые методы
- setFrameIcon (Значок значка) : устанавливает значок для кадра на указанное изображение
- setLayout (менеджер LayoutManager) : устанавливает компоновку фрейма для указанного менеджера компоновки
- setTitle (String t) : установить заголовок фрейма для указанного заголовка
- getTitle () : получить заголовок кадра
- reshape (int x, int y, int width, int height) : изменить размер рамки до указанной ширины и высоты и указанного местоположения
- add (Component c) : добавляет указанный компонент в контейнер.
- addImpl (Component c, Object co, int i) : добавляет указанный компонент.
- addInternalFrameListener (InternalFrameListener l) : добавляет указанный InternalFrameListener в список.
- createRootPane () : вызывается конструктором для настройки JRootPane.
- dispose () : делает этот внутренний фрейм невидимым, невыделенным и закрытым.
- fireInternalFrameEvent (int id) : запускает событие внутреннего кадра.
- getAccessibleContext () : получает AccessibleContext, связанный с этим JInternalFrame.
- getContentPane () : возвращает панель содержимого для этого внутреннего фрейма.
- getDefaultCloseOperation () : возвращает операцию по умолчанию, которая происходит, когда пользователь инициирует «закрытие» этого внутреннего фрейма.
- getDesktopIcon () : возвращает JDesktopIcon, используемый при значении этого JInternalFrame.
- getDesktopPane () : удобный метод, который ищет в иерархии предков экземпляр JDesktop.
- getFocusOwner () : если этот JInternalFrame активен, возвращает дочерний элемент, у которого есть фокус.
- getFrameIcon () : возвращает изображение, отображаемое в строке заголовка этого внутреннего фрейма
- getGlassPane () : возвращает стеклянную панель для этого внутреннего фрейма.
- getInternalFrameListeners () : возвращает массив всех InternalFrameListeners, добавленных в этот JInternalFrame с помощью addInternalFrameListener
- getJMenuBar () : возвращает текущий JMenuBar для этого JInternalFrame
- getLastCursor () : возвращает последний курсор, который был установлен методом setCursor
- getLayer () : удобный метод для получения атрибута слоя этого компонента.
- getLayeredPane () : возвращает многоуровневую панель для этого внутреннего фрейма.
- getMostRecentFocusOwner () : возвращает дочерний компонент этого JInternalFrame, который получит фокус при выборе этого JInternalFrame.
- getNormalBounds () : если JInternalFrame не в развернутом состоянии, возвращает getBounds (); в противном случае возвращает границы, до которых будет восстановлен JInternalFrame.
- getRootPane () : возвращает объект rootPane для этого внутреннего фрейма.
- getUI () : возвращает объект внешнего вида, который отображает этот компонент.
- getWarningString () : получает строку предупреждения, которая отображается с этим внутренним фреймом.
- isClosable () : возвращает, можно ли закрыть этот JInternalFrame каким-либо действием пользователя.
- isClosed () : возвращает, закрыт ли этот JInternalFrame в данный момент.
- isIcon () : возвращает, обозначен ли JInternalFrame в настоящее время в виде значка.
- isMaximizable () : получает значение свойства максимизации.
- isMaximum () : возвращает, развернут ли JInternalFrame в данный момент.
- isResizable () : возвращает, можно ли изменить размер JInternalFrame.
- isSelected () : возвращает, является ли JInternalFrame текущим активным кадром или нет.
- pack () : заставляет компоненты этого JInternalFrame располагаться в их предпочтительном размере.
- paintComponent (Graphics g) : переопределено для оптимизации рисования при перетаскивании внутренней рамки.
- paramString () : возвращает строковое представление этого JInternalFrame.
- remove (Component c) : удаляет указанный компонент из контейнера.
- removeInternalFrameListener (InternalFrameListener l) : удаляет указанный внутренний прослушиватель кадров.
- setClosable (boolean b) : устанавливает, может ли этот JInternalFrame быть закрыт каким-либо действием пользователя.
- setContentPane (Container c) : устанавливает свойство contentPane этого JInternalFrame.
- setCursor (Cursor c) : устанавливает изображение курсора на указанный курсор.
- setDefaultCloseOperation (int o) : устанавливает операцию, которая будет выполняться по умолчанию, когда пользователь инициирует «закрытие» этого внутреннего фрейма.
- setDesktopIcon (JInternalFrame.JDesktopIcon d) : устанавливает JDesktopIcon, связанный с этим JInternalFrame.
- setGlassPane (Component g) : устанавливает свойство glassPane этого JInternalFrame.
- setIcon (boolean b) : превращает этот внутренний фрейм в иконку или де-икону.
- setJMenuBar (JMenuBar m) : устанавливает свойство menuBar для этого JInternalFrame.
- setIconifiable (boolean b) : устанавливает свойство iconable, которое должно быть истинным, чтобы пользователь мог сделать JInternalFrame значком.
- setJMenuBar (JMenuBar m) : устанавливает свойство menuBar для этого JInternalFrame.
- setLayer (int l) : удобный метод для установки атрибута слоя этого компонента.
- setLayer (Integer l) : удобный метод для установки атрибута слоя этого компонента.
- setLayeredPane (JLayeredPane l) : устанавливает свойство LayeredPane этого JInternalFrame.
- setMaximizable (boolean b) : устанавливает свойство maximizable, которое определяет, можно ли развернуть JInternalFrame каким-либо действием пользователя.
- setMaximum (логическое b) : разворачивает и восстанавливает этот внутренний фрейм.
- setNormalBounds (Rectangle r) : устанавливает нормальные границы для этого внутреннего кадра.
- setResizable (boolean b) : устанавливает, можно ли изменить размер JInternalFrame каким-либо действием пользователя.
- setRootPane (JRootPane r) : устанавливает свойство rootPane для этого JInternalFrame.
- setRootPaneCheckingEnabled (boolean e) : устанавливает, перенаправляются ли вызовы add и setLayout в contentPane.
- setSelected (boolean s) : выбирает или отменяет выбор внутреннего фрейма, если он отображается.
- setUI (InternalFrameUI ui) : устанавливает делегата пользовательского интерфейса для этого JInternalFrame.
- show () : делает внутреннюю рамку видимой.
- toBack () : отправляет этот внутренний фрейм на задний план.
- toFront () : переносит этот внутренний фрейм на передний план.
- 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 и многому другому, см. Полный курс подготовки к собеседованию .