intframeeventdemo.java

来自「《java事件处理指南》一书的代码,好东西」· Java 代码 · 共 91 行

JAVA
91
字号
import javax.swing.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;public class IntFrameEventDemo extends JFrame implements ActionListener{   private JInternalFrame jif;   private JTextField jtf;   private JButton button;   public IntFrameEventDemo()    {/*  A JInternalFrame object is created and placed on a JFrame.    *//*  The JInternalFrame registers a InternalFrameListener.         */      jif = new JInternalFrame("Bailey", true, true, true, true);      jif.getContentPane().add(new JLabel(new ImageIcon("Bailey.jpg")));      jif.setSize(200, 100);      jif.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);      jif.addInternalFrameListener(new InternalFrameHandler());      button = new JButton("show");      button.setBorder(BorderFactory.createRaisedBevelBorder());      button.addActionListener(this);      jtf = new JTextField(20);      jtf.setEditable(false);      JPanel centerPanel = new JPanel();      centerPanel.add(jif);      JPanel southPanel = new JPanel();      southPanel.add(jtf);      southPanel.add(button);      getContentPane().add(centerPanel, BorderLayout.CENTER);      getContentPane().add(southPanel, BorderLayout.SOUTH);      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);      setBounds(100, 100, 300, 300);      setVisible(true);   }/*  The InternalFrameListener is implemented as an inner class.   *//*  If the JInternalFrame is iconified or de-inconified, an       *//*  InternalFrameEvent is generated and sent to the appropriate   *//*  method where the iconified state of the JInternalFrame is     *//*  displayed in a JTextField.  The other five methods declared   *//*  in the InternalFrameListener interface aren't used in this    *//*  application but must be given some implementation.  They are  *//*  implemented as stub methods.                                  */    class InternalFrameHandler implements InternalFrameListener   {      public void internalFrameDeiconified(InternalFrameEvent event)      {         jtf.setText("internal frame deiconified");         invalidate();         validate();      }      public void internalFrameIconified(InternalFrameEvent event)      {         jtf.setText("internal frame iconified");         invalidate();         validate();      }      public void internalFrameActivated(InternalFrameEvent event) {}      public void internalFrameClosed(InternalFrameEvent event) {}      public void internalFrameClosing(InternalFrameEvent event) {}      public void internalFrameDeactivated(InternalFrameEvent event){}      public void internalFrameOpened(InternalFrameEvent event) {}   }/*  When the "show" button is pressed, the JInternalFrame is made  *//*  visible.                                                       */   public void actionPerformed(ActionEvent event)   {      jif.show();   }   public static void main(String args[])    {      IntFrameEventDemo demo = new IntFrameEventDemo();   }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?