swing - UImanager look and feel partially working/ Java programming -
i wanted change graphics of default jframe using uimanager.
uimanager.setlookandfeel("javax.swing.plaf.nimbus.nimbuslookandfeel"); this works on main frame if call panel, doesn't.
ex: (i have use this)
joptionpane.showmessagedialog(this, new mypanel, "about", joptionpane.plaintext); i tried putting ui manager in jpanel, comes default ugly interface. suggestions?
update:
here example frame:
import java.awt.borderlayout; import java.awt.eventqueue; import javax.swing.borderfactory; import javax.swing.jframe; import javax.swing.joptionpane; import javax.swing.jpanel; import javax.swing.uimanager; import javax.swing.unsupportedlookandfeelexception; import javax.swing.border.emptyborder; import javax.swing.jmenubar; import javax.swing.jmenu; import java.awt.gridlayout; import javax.swing.swingconstants; import java.awt.component; import javax.swing.box; import javax.swing.jslider; import java.awt.gridbaglayout; import java.awt.gridbagconstraints; import javax.swing.jlabel; import java.awt.insets; import javax.swing.jprogressbar; import java.awt.flowlayout; import javax.swing.jbutton; import java.awt.headlessexception; import java.awt.panel; import java.awt.label; import java.awt.dimension; import java.awt.font; import java.awt.toolkit; import javax.swing.jmenuitem; import java.awt.event.actionlistener; import java.awt.event.actionevent; public class musicplayerframe extends jframe { private jpanel contentpane; private static musicplayerframe frame; private static musicplayerabout about; /** * launch application. */ public static void main(string[] args) { eventqueue.invokelater(new runnable() { public void run() { try { frame = new musicplayerframe(); frame.setvisible(true); } catch (exception e) { e.printstacktrace(); } try { uimanager .setlookandfeel("javax.swing.plaf.nimbus.nimbuslookandfeel"); } catch (classnotfoundexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (instantiationexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (illegalaccessexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (unsupportedlookandfeelexception e) { // todo auto-generated catch block e.printstacktrace(); } = new musicplayerabout(); } }); } /** * create frame. */ public musicplayerframe() { setdefaultcloseoperation(jframe.exit_on_close); int width = 450; int height = 300; dimension screensize = toolkit.getdefaulttoolkit().getscreensize(); setbounds((screensize.width - width) / 2, (screensize.height - height) / 2, 721, 507); jmenubar menubar = new jmenubar(); setjmenubar(menubar); jmenu mnfile = new jmenu("file"); menubar.add(mnfile); jmenuitem mntmexit = new jmenuitem("exit"); mntmexit.addactionlistener(new actionlistener() { public void actionperformed(actionevent e) { system.exit(0); } }); mnfile.add(mntmexit); jmenu mnhelp = new jmenu("help"); menubar.add(mnhelp); jmenuitem mntmabout = new jmenuitem("about"); mntmabout.addactionlistener(new actionlistener() { public void actionperformed(actionevent e) { joptionpane.showmessagedialog(frame, about, "about", joptionpane.plain_message); } }); mnhelp.add(mntmabout); contentpane = new jpanel(); contentpane.setborder(new emptyborder(5, 5, 5, 5)); contentpane.setlayout(new borderlayout(0, 0)); setcontentpane(contentpane); jpanel genrepanel = new jpanel(); genrepanel.setborder(borderfactory.createtitledborder("genre")); contentpane.add(genrepanel, borderlayout.north); genrepanel.setlayout(new gridlayout(1, 0, 0, 0)); jpanel songpanel = new jpanel(); songpanel.setborder(borderfactory.createtitledborder("songs")); contentpane.add(songpanel, borderlayout.center); songpanel.setlayout(new gridlayout(1, 0, 0, 0)); jpanel controlspanel = new jpanel(); contentpane.add(controlspanel, borderlayout.south); controlspanel.setlayout(new borderlayout(0, 0)); jpanel panel_3 = new jpanel(); controlspanel.add(panel_3, borderlayout.north); jprogressbar progressbar = new jprogressbar(); panel_3.add(progressbar); jpanel panel_5 = new jpanel(); controlspanel.add(panel_5, borderlayout.center); jlabel lblnewlabel = new jlabel("0"); lblnewlabel.setfont(new font("tahoma", font.plain, 18)); panel_5.add(lblnewlabel); jslider slider = new jslider(); panel_5.add(slider); label label = new label(")))"); label.setfont(new font("tahoma", font.plain, 18)); panel_5.add(label); label.setalignment(label.center); jpanel panel_4 = new jpanel(); controlspanel.add(panel_4, borderlayout.south); jbutton btnyj = new jbutton("yj"); panel_4.add(btnyj); } } and panel calls:
import javax.swing.jpanel; import javax.swing.uimanager; import javax.swing.unsupportedlookandfeelexception; import java.awt.gridbaglayout; import java.awt.gridbagconstraints; import java.awt.insets; import javax.swing.jlabel; import javax.swing.border.etchedborder; import java.awt.font; public class musicplayerabout extends jpanel { public musicplayerabout() { gridbaglayout gridbaglayout = new gridbaglayout(); gridbaglayout.columnwidths = new int[]{0, 0}; gridbaglayout.rowheights = new int[]{0, 0, 0, 0, 0}; gridbaglayout.columnweights = new double[]{1.0, double.min_value}; gridbaglayout.rowweights = new double[]{0.0, 1.0, 0.0, 0.0, double.min_value}; setlayout(gridbaglayout); jpanel panel = new jpanel(); panel.setborder(new etchedborder(etchedborder.lowered, null, null)); gridbagconstraints gbc_panel = new gridbagconstraints(); gbc_panel.insets = new insets(0, 0, 5, 0); gbc_panel.fill = gridbagconstraints.both; gbc_panel.gridx = 0; gbc_panel.gridy = 1; add(panel, gbc_panel); gridbaglayout gbl_panel = new gridbaglayout(); gbl_panel.columnwidths = new int[]{0, 0}; gbl_panel.rowheights = new int[]{0, 0, 0, 0, 0, 0}; gbl_panel.columnweights = new double[]{1.0, double.min_value}; gbl_panel.rowweights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, double.min_value}; panel.setlayout(gbl_panel); jlabel lblapril = new jlabel("april, 2013"); gridbagconstraints gbc_lblapril = new gridbagconstraints(); gbc_lblapril.insets = new insets(0, 0, 5, 0); gbc_lblapril.gridx = 0; gbc_lblapril.gridy = 2; panel.add(lblapril, gbc_lblapril); lblapril.setfont(new font("tahoma", font.bold, 17)); try { uimanager .setlookandfeel("javax.swing.plaf.nimbus.nimbuslookandfeel"); } catch (classnotfoundexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (instantiationexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (illegalaccessexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (unsupportedlookandfeelexception e) { // todo auto-generated catch block e.printstacktrace(); } } } if run panel itself, works if call other frame, doesn't seem to.
any appreciated!
Comments
Post a Comment