📄 complistenerdemo.java
字号:
import javax.swing.*;import java.awt.*;import java.awt.event.*;public class CompListenerDemo extends JFrame { private JLabel label; public CompListenerDemo() {/* A very long label is created and placed on a JFrame */ label = new JLabel("This is a very, very long label"); label.setFont(new Font("Serif", Font.BOLD, 14)); label.setForeground(Color.black); JPanel panel = new JPanel(); panel.add(label); getContentPane().add(panel);/* The JFrame registers a ComponentListener */ addComponentListener(new CompListener()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 300, 200); setVisible(true); }/* The ComponentListener is implemented as an inner class. When *//* the JFrame is resized, a ComponentEvent is generated and sent *//* to the componentResized() method. This method tests to see *//* if the JFrame width is smaller than the JLabel width. If it *//* is, the JFrame is resized so it is wider than the JLabel. *//* If the JFrame is moved, a ComponentEvent is sent to the *//* componentMoved() method. The method determines if the frame *//* has been moved off of the screen. If it has, the method moves *//* the frame back on to the screen. The componentHidden() and *//* componentShown() methods are not used, so they are implemented *//* as stub methods. */ class CompListener implements ComponentListener { public void componentResized(ComponentEvent event) { Component comp = event.getComponent(); if ( comp.getWidth() < label.getWidth() ) { comp.setSize( label.getWidth()+100, comp.getHeight() ); } } public void componentMoved(ComponentEvent event) { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Component comp = event.getComponent(); if ( comp.getX() < 0 ) { setLocation(10, comp.getY()+30); } if ( comp.getX() > screenSize.width - getWidth() ) { setLocation(screenSize.width-getWidth()-30, comp.getY()+30); } if ( comp.getY() < 0 ) { setLocation(comp.getX(), 30); } if ( comp.getY() > screenSize.height - getHeight() ) { setLocation(comp.getX(), screenSize.height-getHeight()-30); } } public void componentHidden(ComponentEvent event){} public void componentShown(ComponentEvent event){} } public static void main(String args[]) { CompListenerDemo demo = new CompListenerDemo(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -