java布局的问题 5
importjava.awt.BorderLayout;importjavax.swing.JButton;importjavax.swing.JFrame;import...
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Io{
public static void main(String[] args){
JFrame jf=new JFrame("UI程序");
jf.setSize(500, 500);
JButton jbu1=new JButton("确认");
jbu1.setBounds(0, 0, 50, 50);
JButton jbu2=new JButton("返回");
jf.setSize(500,500);
JPanel jp=new JPanel();
JLabel jl1=new JLabel("用户名:");
jl1.setBounds(10, 150, 20, 50);
JLabel jl2=new JLabel("密码:");
jl1.setBounds(10, 200, 20, 50);
jbu1.setLayout(new BorderLayout(10, 400));
jbu2.setBounds(500, 500, 50, 50);
jp.add(jl1);
jp.add(jl2);
jp.add(jbu1);
jp.add(jbu2);
jf.add(jp);
jf.setVisible(true);
为什么我设置了坐标没有用呢??
出现如图,没有达到预期的效果。 展开
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Io{
public static void main(String[] args){
JFrame jf=new JFrame("UI程序");
jf.setSize(500, 500);
JButton jbu1=new JButton("确认");
jbu1.setBounds(0, 0, 50, 50);
JButton jbu2=new JButton("返回");
jf.setSize(500,500);
JPanel jp=new JPanel();
JLabel jl1=new JLabel("用户名:");
jl1.setBounds(10, 150, 20, 50);
JLabel jl2=new JLabel("密码:");
jl1.setBounds(10, 200, 20, 50);
jbu1.setLayout(new BorderLayout(10, 400));
jbu2.setBounds(500, 500, 50, 50);
jp.add(jl1);
jp.add(jl2);
jp.add(jbu1);
jp.add(jbu2);
jf.add(jp);
jf.setVisible(true);
为什么我设置了坐标没有用呢??
出现如图,没有达到预期的效果。 展开
5个回答
展开全部
jf.setSize(500, 500);后面加jf.setBounds(250, 300, 350, 400);jf.setLayout(null);
jf.setVisible(true);前面加jf.pack();
jf.setVisible(true);前面加jf.pack();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你设置了很多坐标,不太清楚你指的是哪个坐标没有用
一般来说如果用绝对布局,不用Jpanel的话用getContentPane().setLayout(null)然后各个组件setBounds(...)就可以了
用Jpanel的话最好窗体先用getContentPane().setLayout(new GridLayout(...))这个网格布局管理器设置行列,再addJpanel.
然后, 你代码的jbu1.setLayout(new BorderLayout(10, 400));拿Jbutton来setLayout的用法我没试过,而且BorderLayout.东南西北中我见多了,写坐标是什么情况我更加没试过.
一般来说如果用绝对布局,不用Jpanel的话用getContentPane().setLayout(null)然后各个组件setBounds(...)就可以了
用Jpanel的话最好窗体先用getContentPane().setLayout(new GridLayout(...))这个网格布局管理器设置行列,再addJpanel.
然后, 你代码的jbu1.setLayout(new BorderLayout(10, 400));拿Jbutton来setLayout的用法我没试过,而且BorderLayout.东南西北中我见多了,写坐标是什么情况我更加没试过.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用了BorderLayout
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询