swing - How to get this Java Layout? -
in java borderlayout
north
part this:
so want have is, north
, south
part have same width center
. east
, west
part should have height of center
. means corners should empty. don't want use gridlayout
this, because don't want north
have same height center
.
how layout?
simply nest 2 borderlayout using jpanels. in inner one, add north , south panels. place inner 1 in outer one's borderlayout.center position. done.
import java.awt.borderlayout; import java.awt.color; import javax.swing.*; public class simplelayout extends jpanel { public simplelayout() { jpanel innerpanel = new jpanel(new borderlayout()); innerpanel.add(createlabeledpanel("center"), borderlayout.center); innerpanel.add(createlabeledpanel("north"), borderlayout.page_start); innerpanel.add(createlabeledpanel("south"), borderlayout.page_end); setlayout(new borderlayout()); add(innerpanel, borderlayout.center); add(createlabeledpanel("east"), borderlayout.line_end); add(createlabeledpanel("west"), borderlayout.line_start); } private jcomponent createlabeledpanel(string text) { jlabel label = new jlabel(text, swingconstants.center); jpanel panel = new jpanel(); panel.setborder(borderfactory.createlineborder(color.black)); panel.add(label); return panel; } private static void createandshowgui() { simplelayout mainpanel = new simplelayout(); jframe frame = new jframe("simplelayout"); frame.setdefaultcloseoperation(jframe.dispose_on_close); frame.getcontentpane().add(mainpanel); frame.pack(); frame.setlocationbyplatform(true); frame.setvisible(true); } public static void main(string[] args) { swingutilities.invokelater(new runnable() { public void run() { createandshowgui(); } }); } }
Comments
Post a Comment