用java怎么实现像qq那样图标驻留在任务栏,0

用java怎么实现像qq那样图标驻留在任务栏,0,第1张

private void TrayIcon()

  {

    if (SystemTray.isSupported())

    {

      SystemTray tray = SystemTray.getSystemTray()

      MouseListener mouseListener = new MouseListener(this)

      {

        public void mouseClicked()

        {

        }

        public void mouseEntered() {

        }

        public void mouseExited() {

        }

        public void mousePressed() {

        }

        public void mouseReleased() {

        }

      }

      PopupMenu popup = new PopupMenu()

      TrayIcon trayIcon = new TrayIcon(createImage("/chatserver/resources/Biggrin.png", "Tray Icon"), "UDP Chat Server", popup)

      ActionListener exitListener = new ActionListener(this)

      {

        public void actionPerformed() {

          System.out.println("Exiting...")

          System.exit(0)

        }

      }

      ActionListener ServerConsoleListener = new ActionListener(this, trayIcon)

      {

        public void actionPerformed() {

          Frame[] Frames = Graphics.getFrames()

          Frame CurrentFrame = Frames[0]

          if (CurrentFrame.isVisible())

            this.val$trayIcon.displayMessage("Server Console", "La Console Server è già Attiva !", TrayIcon.MessageType.ERROR)

          else {

            CurrentFrame.setVisible(true)

          }

        }

      }

      MenuItem defaultItem = new MenuItem("Exit")

      MenuItem consoleItem = new MenuItem("Server Console")

      defaultItem.addActionListener(exitListener)

      consoleItem.addActionListener(ServerConsoleListener)

      popup.add(consoleItem)

      popup.add(defaultItem)

      ActionListener actionListener = new ActionListener(this, trayIcon)

      {

        public void actionPerformed() {

          this.val$trayIcon.displayMessage("Action Event", "An Action Event Has Been Performed!", TrayIcon.MessageType.INFO)

        }

      }

      trayIcon.setImageAutoSize(true)

      trayIcon.addActionListener(actionListener)

      trayIcon.addMouseListener(mouseListener)

      try

      {

        tray.add(trayIcon)

      } catch (AWTException e) {

        System.err.println("TrayIcon could not be added.")

      }

    }

  }

试试这样行不?

public class Mazelp {/*extends JFrame*/ //implements ActionListener{

private static final int wid = 10

private static final int hei = 10

JFrame jf

JButton jb1,jb2

JButton jb[]

JPanel p1,p2

private Stack stack = new Stack()//Stack 类表示后进先出(LIFO)的对象堆栈。

MenuBar menu

Menu file

MenuItem closeMenu

public Mazelp() {

jf=new JFrame("迷宫")//申请内存空间设置标题

jf.setBounds(300,240,500,500)//调整迷宫出现的位置(300,240)及大小(500,500)

jf.setResizable(false)//窗体不可拉伸

menu = new MenuBar()//设置菜单条

file = new Menu("文件")//设置菜单栏

closeMenu = new MenuItem("关闭")//设置菜单项

//closeMenu.addActionListener(this)//添加监听对菜单项

p1=new JPanel()

//jf.add(menu)

jf.setMenuBar(menu)

menu.add(file)//将菜单栏添加到菜单条上

file.add(closeMenu)//将菜单项添加到菜单栏

jf.getContentPane().add(p1)

p1.setLayout(new GridLayout(10,10))//p1用网格布局,10行10列

jb=new JButton[100]//作为迷宫的墙和路

for(int i=0i<jb.lengthi++){

jb[i]=new JButton(Integer.toString(i))//创建按键的名字,Integer型的名字为i的字符串

if((i>=0&&i<=9)||(i>=90&&i<=99)||i%10==0||i%10==9||i==13||i==17||i==23||i==27||i==35||i==36||i==42||i==43||i==44||i==54||i==62||i==66||i==72||i==73||i==74||i==76||i==77||i==81){

jb[i].setBackground(Color.red)//将墙涂色

}

else {

jb[i].setBackground(Color.yellow)

}

jb[i].setSize(10,10)

p1.add(jb[i])

jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE)//声明点“X”图标后结束窗体所在的应用程序

jf.setVisible(true)//表明以上创建的所有窗体、按键等组件都是可见

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11921242.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存