- is there way can set
jframe
transparent while still leaving buttons / text unaffected? - if not, how can make
jframe
transparent without using.setundecorated(true)
? - this totally different question, how go adding gradient background color instead of having set 1 solid color?
- click here see jframe looks when program runs!
class playagain extends jpanel { private jframe nextframe; public playagain() { nextframe = new jframe("tic-tac-toe"); nextframe.setsize(250,125); nextframe.setdefaultcloseoperation(jframe.exit_on_close); jpanel panel = new jpanel(new gridbaglayout()); nextframe.add(panel); gridbagconstraints c = new gridbagconstraints(); c.insets = new insets(10,10,10,10); class buttonlistener implements actionlistener { public void actionperformed(actionevent event) { nextframe.dispose(); frame.dispose(); xoroframegrid obj = new xoroframegrid(); } } class clickno implements actionlistener { public void actionperformed(actionevent event) { frame.dispose(); nextframe.dispose(); } } //creating buttons & labels jlabel wlt; c.gridx = 0; c.gridy = 0; c.gridwidth = 3; jlabel title = new jlabel("would play again?"); if (iswin() == 1) { wlt = new jlabel("you won!"); panel.add(wlt,c); } else if (iswin() == 2) { wlt = new jlabel("you lost!"); panel.add(wlt,c); } else if (iswin() == 3) { wlt = new jlabel("you tied!"); panel.add(wlt,c); } jlabel or = new jlabel("or"); jbutton yes = new jbutton("yes"); actionlistener listener1 = new buttonlistener(); yes.addactionlistener(listener1); jbutton no = new jbutton("no"); actionlistener listener2 = new clickno(); no.addactionlistener(listener2); c.gridwidth = 0; //1st column c.anchor = gridbagconstraints.line_end; c.weighty = 10; c.gridx = 0; c.gridy = 2; panel.add(no,c); //2nd column //adds "or" c.anchor = gridbagconstraints.center; c.gridx = 1; c.gridy = 2; panel.add(or,c); //adds title c.weighty = 0; c.gridwidth = 3; c.gridx = 0; c.gridy = 1; panel.add(title,c); //3rd column c.gridwidth = 0; c.weighty = 3; // changes weight c.anchor = gridbagconstraints.line_start; c.gridx = 2; c.gridy = 2; panel.add(yes,c); nextframe.pack(); nextframe.setlocationrelativeto(null); nextframe.setresizable(false); nextframe.setvisible(true); nextframe.tofront(); }
here source code transparent jframe:
public class example extends jframe { public example() { super("translucentwindowdemo"); setlayout(new gridbaglayout()); setsize(500,300); setlocationrelativeto(null); setundecorated(true); getcontentpane().setbackground(color.blue); jbutton close = new jbutton("close"); add(close); actionlistener al; al = new actionlistener() { @override public void actionperformed(actionevent ae) { system.exit(0); } }; close.addactionlistener (al); } private void initcomponents() { setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close); grouplayout layout = new grouplayout(getcontentpane()); getcontentpane().setlayout(layout); layout.sethorizontalgroup( layout.createparallelgroup(grouplayout.alignment.leading) .addgap(0, 400, short.max_value) ); layout.setverticalgroup( layout.createparallelgroup(grouplayout.alignment.leading) .addgap(0, 300, short.max_value) ); pack(); } public static void main(string args[]) { graphicsenvironment ge = graphicsenvironment.getlocalgraphicsenvironment(); graphicsdevice gd = ge.getdefaultscreendevice(); if (!gd.iswindowtranslucencysupported(translucent)) { system.err.println("translucency not supported"); system.exit(0); } try { (uimanager.lookandfeelinfo info : uimanager.getinstalledlookandfeels()) { if ("nimbus".equals(info.getname())) { uimanager.setlookandfeel(info.getclassname()); break; } } } catch (classnotfoundexception | instantiationexception | illegalaccessexception | javax.swing.unsupportedlookandfeelexception ex) { java.util.logging.logger.getlogger(example.class.getname()).log(java.util.logging.level.severe, null, ex); } java.awt.eventqueue.invokelater(new runnable() { public void run() { example e = new example(); e.setopacity(0.55f); e.setvisible(true); } }); } }
Comments
Post a Comment