java - How to align the jlabel text to left inside the jpanel -
i trying align jlabel left i'm failing let me know how can tackle problem suggestions regarding appreciated
i have attempted slice of code yet not solving problem
jlabel=new jlabel("label text",swingconstants.left); jlabel.sethorizontalalignment(swingconstants.left);
here complete code
import javax.swing.*; import java.awt.borderlayout; import java.awt.color; import java.awt.dimension; import java.awt.gridbagconstraints; import java.awt.gridbaglayout; import java.awt.gridlayout; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.windowadapter; import java.awt.event.windowevent; public class mygui1 extends jpanel implements actionlistener { /** * */ static jscrollpane jsp; protected jpanel panel; protected jtextarea textarea; static jframe frame; jlabel jlabel=null; public mygui1() { //to lay out container's components in rectangular grid super(new gridbaglayout()); gridbagconstraints c = new gridbagconstraints(); c.gridwidth = gridbagconstraints.remainder; c.fill = gridbagconstraints.horizontal; jbutton jbutton=new jbutton("button"); jbutton.setactioncommand("button"); jbutton.addactionlistener(this); add(jbutton,c); c.gridy=1; c.gridwidth = gridbagconstraints.remainder; c.fill = gridbagconstraints.both; c.weightx = 1.0; c.weighty = 1.0; setbackground(color.cyan); panel=new jpanel(); panel.setlayout(new boxlayout(panel,boxlayout.page_axis)); jsp=new jscrollpane(panel); jsp.setpreferredsize(new dimension(300,300)); jsp.sethorizontalscrollbarpolicy(scrollpaneconstants.horizontal_scrollbar_as_needed); jsp.setverticalscrollbarpolicy(scrollpaneconstants.vertical_scrollbar_as_needed); add(jsp, c); setborder(borderfactory.createemptyborder(10, 10, 10, 10)); } public void actionperformed(actionevent evt) { if("button".equals(evt.getactioncommand())){ execute(); } } synchronized public void execute(){ // remove content of panel panel.removeall(); // refresh window for(int i=0;i<20 ;i++){ jlabel=new jlabel("labe1l"+i,swingconstants.left); // jlabel.setalignmentx(center_alignment); // jlabel.setalignmenty(left_alignment); textarea=new jtextarea(); textarea.settext("sample text"); if(i==2){ textarea.settext("sample text........................\nsample text.................. "); } if(i==5){ textarea.settext("sample text.\nsample text.sample text.\nsample text. "); } if(i==7){ textarea.settext("sample text.\nsample text.sample text.\nsample text sample text..\nsample text.sample text..\nsample text. "); } textarea.append("\n"); textarea.seteditable(false); jlabel.setlayout(new borderlayout()); jlabel.sethorizontalalignment(swingconstants.left); panel.add(jlabel); // in order wrap data in text area textarea.setlinewrap(true); panel.add(textarea); jlabel.setpreferredsize(new dimension(240,30)); javax.swing.swingutilities.invokelater(new runnable() { public void run() { // textarea.setpreferredsize(getminimumsize()); // panel.setpreferredsize(getsize()); panel.revalidate(); panel.repaint(); jsp.getverticalscrollbar().setvalue(0); jsp.validate(); } }); } jsp.revalidate(); jsp.repaint(); frame.repaint(); frame.revalidate(); } @suppresswarnings("static-access") private static void createandshowgui() { //create , set window. frame = new jframe("desktopsearchengine"); frame.setlayout(new borderlayout()); frame.setdefaultcloseoperation(jframe.exit_on_close); //adding window listener exit operation frame.addwindowlistener( new windowadapter() { public void windowclosing(windowevent e) { jframe frame = (jframe)e.getsource(); int result = joptionpane.showconfirmdialog( frame, "are sure want exit application?", "exit application", joptionpane.yes_no_option); if (result == joptionpane.yes_option) { frame.setdefaultcloseoperation(jframe.exit_on_close); } else if(result==joptionpane.no_option){ frame.setdefaultcloseoperation(jframe.do_nothing_on_close); } } }); //add contents window gui part , perform operations frame.add(new mygui1()); //display window. frame.pack(); //to keep frame visible frame.setvisible(true); } public static void main(string[] args) { //schedule job event dispatch thread: //creating , showing application's gui. javax.swing.swingutilities.invokelater(new runnable() { public void run() { createandshowgui(); } }); } }
you wrap label in jpanel
flowlayout.leading
jpanel wrapper = new jpanel(new flowlayout(flowlayout.leading,0, 0)); wrapper.add(jlabel); panel.add(wrapper);
also remember follow java naming convention. variables begin lower case letters using camel casing: jlabel
→ jlabel
Comments
Post a Comment