日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

java视窗_java-预览窗口(如Windows 7任务栏显示已打开的...

發(fā)布時(shí)間:2023/12/10 windows 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java视窗_java-预览窗口(如Windows 7任务栏显示已打开的... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一個(gè)極其簡(jiǎn)單的實(shí)現(xiàn).

import java.awt.*;

import java.awt.image.*;

import java.awt.event.*;

import javax.swing.*;

class ShowPreviews {

class ToolTipListener extends MouseAdapter {

JWindow toolTip;

JLabel label;

Component preview;

ToolTipListener(Component preview) {

this.preview = preview;

}

@Override

public void mouseEntered(MouseEvent me) {

if (toolTip==null) {

toolTip = new JWindow();

label = new JLabel();

toolTip.add(label);

}

label.setIcon( new ImageIcon(

getScaledImageOfComponent(preview, .6) ) );

toolTip.pack();

Component c = (Component)me.getSource();

int x = c.getLocationOnScreen().x+(c.getWidth()/2);

int y = c.getLocationOnScreen().y+c.getHeight();

toolTip.setLocation(x,y);

toolTip.setVisible(true);

}

@Override

public void mouseExited(MouseEvent me) {

toolTip.setVisible(false);

toolTip.dispose();

}

public Image getScaledImageOfComponent(

Component component, double scale) {

BufferedImage bi = new BufferedImage(

(int)(component.getWidth()*scale),

(int)(component.getHeight()*scale),

BufferedImage.TYPE_INT_RGB);

Graphics2D g = bi.createGraphics();

g.scale(scale, scale);

component.paint(g);

g.dispose();

return bi;

}

}

ShowPreviews() {

JPanel gui = new JPanel(new BorderLayout(2,2));

final CardLayout cards = new CardLayout();

final JPanel cardPanel = new JPanel(cards);

JPanel treePanel = new JPanel();

JTree tree = new JTree();

tree.setVisibleRowCount(5);

tree.expandRow(2);

treePanel.add(new JScrollPane(tree));

cardPanel.add(treePanel, "tree");

JPanel labelPanel = new JPanel(new GridLayout(0,1,2,2));

for (int ii=1; ii<7; ii++) {

labelPanel.add(new JLabel("Label " + ii));

}

cardPanel.add(new JScrollPane(labelPanel), "label");

JToolBar uiSelectors = new JToolBar();

// we should use a ButtonGroup for the cards,

// but plain buttons look better on hover.

JButton treeButton = new JButton("Tree");

treeButton.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent ae) {

cards.show(cardPanel, "tree");

}

});

uiSelectors.add(treeButton);

treeButton.addMouseListener( new ToolTipListener(treePanel));

JButton labelButton = new JButton("Label");

labelButton.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent ae) {

cards.show(cardPanel, "label");

}

});

uiSelectors.add(labelButton);

labelButton.addMouseListener( new ToolTipListener(labelPanel));

gui.add(uiSelectors, BorderLayout.NORTH);

gui.add(cardPanel, BorderLayout.CENTER);

JOptionPane.showMessageDialog(null, gui);

}

public static void main(String[] args) {

// start the GUI on the EDT

SwingUtilities.invokeLater(new Runnable() {

@Override

public void run() {

new ShowPreviews();

}

});

}

}

總結(jié)

以上是生活随笔為你收集整理的java视窗_java-预览窗口(如Windows 7任务栏显示已打开的...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。