java - Avoid space between JToolBar and JTabbedPane -
i creating jframe
example. in process first taken frame add together jmenubar
add together jtoolbar
, add together jtextpane
. in menu bar add together file menu
add together create menuitem
file menu. when click on create menu item open internal frame plain document. but, huge space displayed between toolbar , tabbed pane. how avoid space?
here code:
public class createdoc extends javax.swing.jframe { jscrollpane scrollpane; jtextpane textpane; int i=0; public createdoc() { initcomponents(); } @suppresswarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="generated code"> private void initcomponents() { createtoolbar = new javax.swing.jtoolbar(); help = new javax.swing.jbutton(); tabbedpane = new javax.swing.jtabbedpane(); createmenubar = new javax.swing.jmenubar(); createmenu = new javax.swing.jmenu(); create = new javax.swing.jmenuitem(); setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close); createtoolbar.setrollover(true); help.seticon(new javax.swing.imageicon(getclass().getresource("/about.png"))); // noi18n help.settooltiptext(create.gettext()); help.setfocusable(false); help.sethorizontaltextposition(javax.swing.swingconstants.center); help.setverticaltextposition(javax.swing.swingconstants.bottom); createtoolbar.add(help); createmenu.settext("file"); create.settext("create"); create.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(java.awt.event.actionevent evt) { createactionperformed(evt); } }); createmenu.add(create); createmenubar.add(createmenu); setjmenubar(createmenubar); javax.swing.grouplayout layout = new javax.swing.grouplayout(getcontentpane()); getcontentpane().setlayout(layout); layout.sethorizontalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addcomponent(createtoolbar, javax.swing.grouplayout.default_size, 405, short.max_value) .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addcomponent(tabbedpane, javax.swing.grouplayout.default_size, 405, short.max_value)) ); layout.setverticalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addgroup(layout.createsequentialgroup() .addcomponent(createtoolbar, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size) .addgap(0, 254, short.max_value)) .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addgroup(javax.swing.grouplayout.alignment.trailing, layout.createsequentialgroup() .addgap(0, 22, short.max_value) .addcomponent(tabbedpane, javax.swing.grouplayout.preferred_size, 257, javax.swing.grouplayout.preferred_size))) ); pack(); }// </editor-fold> private void createactionperformed(java.awt.event.actionevent evt) { final jinternalframe internalframe = new jinternalframe(""); i++; internalframe.setname("document"+i); internalframe.setclosable(true); internalframe.setautoscrolls(true); textpane=new jtextpane(); textpane.setfont(new java.awt.font("miriam fixed", 0, 14)); scrollpane=new jscrollpane(textpane); internalframe.add(scrollpane); tabbedpane.add(internalframe); internalframe.setsize(internalframe.getmaximumsize()); internalframe.pack(); internalframe.setvisible(true); } public static void main(string args[]) { /* set nimbus , sense */ //<editor-fold defaultstate="collapsed" desc=" , sense setting code (optional) "> /* if nimbus (introduced in java se 6) not available, remain default , feel. * details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ seek { (javax.swing.uimanager.lookandfeelinfo info : javax.swing.uimanager.getinstalledlookandfeels()) { if ("nimbus".equals(info.getname())) { javax.swing.uimanager.setlookandfeel(info.getclassname()); break; } } } grab (classnotfoundexception ex) { java.util.logging.logger.getlogger(createdoc.class.getname()).log(java.util.logging.level.severe, null, ex); } grab (instantiationexception ex) { java.util.logging.logger.getlogger(createdoc.class.getname()).log(java.util.logging.level.severe, null, ex); } grab (illegalaccessexception ex) { java.util.logging.logger.getlogger(createdoc.class.getname()).log(java.util.logging.level.severe, null, ex); } grab (javax.swing.unsupportedlookandfeelexception ex) { java.util.logging.logger.getlogger(createdoc.class.getname()).log(java.util.logging.level.severe, null, ex); } //</editor-fold> /* create , display form */ java.awt.eventqueue.invokelater(new runnable() { public void run() { new createdoc().setvisible(true); } }); } // variables declaration - not modify private javax.swing.jbutton help; private javax.swing.jmenuitem create; private javax.swing.jmenu createmenu; private javax.swing.jmenubar createmenubar; private javax.swing.jtoolbar createtoolbar; private javax.swing.jtabbedpane tabbedpane; // end of variables declaration }
remove line .addgap(0, 22, short.max_value)
.addgap(0, 0, short.max_value)
. solve problem?
edit: comment taken consideration. have changed layout used bit works correctly.
private void initcomponents() { createtoolbar = new javax.swing.jtoolbar(); help = new javax.swing.jbutton(); tabbedpane = new javax.swing.jtabbedpane(); createmenubar = new javax.swing.jmenubar(); createmenu = new javax.swing.jmenu(); create = new javax.swing.jmenuitem(); setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close); createtoolbar.setrollover(true); // commented testing - pls uncomment // help.seticon(new javax.swing.imageicon(getclass().getresource( // "/about.png"))); // noi18n help.settooltiptext(create.gettext()); help.setfocusable(false); help.sethorizontaltextposition(javax.swing.swingconstants.center); help.setverticaltextposition(javax.swing.swingconstants.bottom); createtoolbar.add(help); createmenu.settext("file"); create.settext("create"); create.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(java.awt.event.actionevent evt) { createactionperformed(evt); } }); createmenu.add(create); createmenubar.add(createmenu); setjmenubar(createmenubar); javax.swing.grouplayout layout = new javax.swing.grouplayout( getcontentpane()); layout.sethorizontalgroup( layout.createparallelgroup(alignment.leading) .addcomponent(createtoolbar, grouplayout.default_size, 405, short.max_value) .addcomponent(tabbedpane, grouplayout.default_size, 415, short.max_value) ); layout.setverticalgroup( layout.createparallelgroup(alignment.leading) .addgroup(layout.createsequentialgroup() .addcomponent(createtoolbar, grouplayout.preferred_size, grouplayout.default_size, grouplayout.preferred_size) .addgap(2) .addcomponent(tabbedpane, grouplayout.default_size, 268, short.max_value)) ); getcontentpane().setlayout(layout); pack(); }
java swing awt layout-manager
great
ReplyDelete