java - how to display only button with out jframe or jpanel visible? -
example below display button jframe window. want button visible, how can implement?
public final void initui() { jpanel panel = new jpanel(); getcontentpane().add(panel); panel.setlayout(null); jbutton quitbutton = new jbutton("quit"); quitbutton.setbounds(50, 60, 80, 30); quitbutton.addactionlistener(new actionlistener() { public void actionperformed(actionevent event) { system.exit(0); } }); panel.add(quitbutton); settitle("quit button"); setsize(300, 200); setlocationrelativeto(null); setdefaultcloseoperation(exit_on_close); }
depending on mean "with out jframe or jpanel visible?" create transparent window...

import java.awt.color; import java.awt.eventqueue; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.uimanager; import javax.swing.unsupportedlookandfeelexception; public class ghostbutton { public static void main(string[] args) { new ghostbutton(); } public ghostbutton() { eventqueue.invokelater(new runnable() { @override public void run() { try { uimanager.setlookandfeel(uimanager.getsystemlookandfeelclassname()); } catch (classnotfoundexception | instantiationexception | illegalaccessexception | unsupportedlookandfeelexception ex) { } jbutton ghostbutton = new jbutton("boo!"); ghostbutton.addactionlistener(new actionlistener() { @override public void actionperformed(actionevent e) { system.exit(0); } }); jframe frame = new jframe("testing"); frame.setundecorated(true); frame.setbackground(new color(0,0,0,0)); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.add(ghostbutton); frame.pack(); frame.setlocationrelativeto(null); frame.setvisible(true); } }); } } if remove frame.setbackground(new color(0,0,0,0));, frameless window
ps- works under java 7+, there trick make work under java 6, i've not posted here
Comments
Post a Comment