📄 qtcomponentpeer.java
字号:
} protected void hideEvent() { ComponentEvent e = new ComponentEvent(owner, ComponentEvent.COMPONENT_HIDDEN); QtToolkit.eventQueue.postEvent(e); } // ************ Public methods ********************* /** Classpath-specific method */ public void setEventMask(long x) { eventMask = x; } public boolean canDetermineObscurity() { return true; } public int checkImage(Image img, int w, int h, ImageObserver o) { return toolkit.checkImage(img, w, h, o); } public void createBuffers(int numBuffers, BufferCapabilities caps) throws AWTException { // FIXME } public Image createImage(ImageProducer producer) { return toolkit.createImage(producer); } public Image createImage(int width, int height) { return new QtImage(width, height); } public void coalescePaintEvent(PaintEvent e) { // FIXME } public VolatileImage createVolatileImage(int w, int h) { return new QtVolatileImage( w, h ); } public void destroyBuffers() { // FIXME } public void disable() { setEnabled(false); } public void dispose() { disposeNative(); if( backBuffer != null ) backBuffer.dispose(); } public void enable() { setEnabled(true); } public void finalize() { dispose(); } public void flip(BufferCapabilities.FlipContents contents) { } public Image getBackBuffer() { return backBuffer; } public ColorModel getColorModel() { return toolkit.getColorModel(); } public FontMetrics getFontMetrics(Font font) { return new QtFontMetrics( font, getGraphics() ); } public Graphics getGraphics() { if( backBuffer == null ) { Rectangle r = owner.getBounds(); backBuffer = new QtImage( r.width, r.height ); } return backBuffer.getDirectGraphics( this ); } public GraphicsConfiguration getGraphicsConfiguration() { int id = whichScreen(); // get the ID of the screen the widget is on. GraphicsDevice[] devs = QtToolkit.graphicsEnv.getScreenDevices(); return devs[id].getDefaultConfiguration(); } public Point getLocationOnScreen() { Point p = new Point(); synchronized( p ) { getLocationOnScreenNative( p ); try { p.wait(); // Wait for the thing to be created. } catch(InterruptedException e) { } } return p; } private native void getSizeNative(Dimension d, boolean preferred); private Dimension getSize(boolean preferred) { Dimension d = new Dimension(); synchronized( d ) { getSizeNative(d, preferred); try { d.wait(); // Wait for the thing to be created. } catch(InterruptedException e) { } } return d; } public Dimension getMinimumSize() { return getSize( false ); } public Dimension getPreferredSize() { return getSize( true ); } public Toolkit getToolkit() { return toolkit; } public native boolean handlesWheelScrolling(); public void hide() { setVisible(false); } public native boolean isFocusable(); public boolean isFocusTraversable() { // FIXME return false; } public native boolean isObscured(); public Dimension minimumSize() { return getMinimumSize(); } public Dimension preferredSize() { return getPreferredSize(); } public native void requestFocus(); public boolean requestFocus (Component source, boolean bool1, boolean bool2, long x) { // FIXME return true; } public void reshape(int x, int y, int width, int height) { setBounds( x, y, width, height ); } public void setBackground(Color c) { if(c == null && !settingUp) return; setGround(c.getRed(), c.getGreen(), c.getBlue(), false); } public void setBounds(int x, int y, int width, int height) { if( ignoreResize ) return; updateBackBuffer(width, height); QtToolkit.repaintThread.queueComponent(this); setBoundsNative(x, y, width, height); } public void setCursor(Cursor cursor) { if (cursor != null) setCursor(cursor.getType()); } public native void setEnabled(boolean b); public void setFont(Font f) { if( f == null || f.getPeer() == null) throw new IllegalArgumentException("Null font."); setFontNative( (QtFontPeer)f.getPeer() ); } public void setForeground(Color c) { if(c == null && !settingUp) return; setGround(c.getRed(), c.getGreen(), c.getBlue(), true); } public native void setVisible(boolean b); public void show() { setVisible(true); } public void handleEvent (AWTEvent e) { int eventID = e.getID(); Rectangle r; switch (eventID) { case ComponentEvent.COMPONENT_SHOWN: QtToolkit.repaintThread.queueComponent(this); break; case PaintEvent.PAINT: case PaintEvent.UPDATE: r = ((PaintEvent)e).getUpdateRect(); QtToolkit.repaintThread.queueComponent(this, r.x, r.y, r.width, r.height); break; case KeyEvent.KEY_PRESSED: break; case KeyEvent.KEY_RELEASED: break; } } /** * paint() is called back from the native side in response to a native * repaint event. */ public void paint(Graphics g) { Rectangle r = g.getClipBounds(); if (backBuffer != null) backBuffer.drawPixelsScaledFlipped ((QtGraphics) g, 0, 0, 0, /* bg colors */ false, false, /* no flipping */ r.x, r.y, r.width, r.height, r.x, r.y, r.width, r.height, false ); /* no compositing */ } public void paintBackBuffer() throws InterruptedException { if( backBuffer != null ) { backBuffer.clear(); Graphics2D bbg = (Graphics2D)backBuffer.getGraphics(); owner.paint(bbg); bbg.dispose(); } } public void paintBackBuffer(int x, int y, int w, int h) throws InterruptedException { if( backBuffer != null ) { Graphics2D bbg = (Graphics2D)backBuffer.getGraphics(); bbg.setBackground( getNativeBackground() ); bbg.clearRect(x, y, w, h); bbg.setClip(x, y, w, h); owner.paint(bbg); bbg.dispose(); } } public boolean prepareImage(Image img, int w, int h, ImageObserver o) { return toolkit.prepareImage(img, w, h, o); } public void print(Graphics g) { // FIXME } /** * Schedules a timed repaint. */ public void repaint(long tm, int x, int y, int w, int h) { if( tm <= 0 ) { QtToolkit.repaintThread.queueComponent(this, x, y, w, h); return; } Timer t = new Timer(); t.schedule(new RepaintTimerTask(this, x, y, w, h), tm); } /** * Update the cursor (note that setCursor is usually not called) */ public void updateCursorImmediately() { if (owner.getCursor() != null) setCursor(owner.getCursor().getType()); } /** * Timed repainter */ private class RepaintTimerTask extends TimerTask { private int x, y, w, h; private QtComponentPeer peer; RepaintTimerTask(QtComponentPeer peer, int x, int y, int w, int h) { this.x=x; this.y=y; this.w=w; this.h=h; this.peer=peer; } public void run() { QtToolkit.repaintThread.queueComponent(peer, x, y, w, h); } } public native Rectangle getBounds(); public void reparent(ContainerPeer parent) { if(!(parent instanceof QtContainerPeer)) throw new IllegalArgumentException("Illegal peer."); reparentNative((QtContainerPeer)parent); } public void setBounds(int x, int y, int width, int height, int z) { // TODO Auto-generated method stub } public boolean isReparentSupported() { return true; } // What does this do, anyway? public void layout() { // TODO Auto-generated method stub }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -