导航:首页 > 解决方法 > 关于布局管理器的问题和解决方法

关于布局管理器的问题和解决方法

发布时间:2022-04-23 01:40:49

㈠ 一道关于流式布局管理器的JAVA问题

你为什么非用流失布局管理器,JFrame的默认容器可以通过getContentPane()方法获取,通过paint方法重绘该容器,如何再添加其他组件呢。JFrame的默认管理器为BorderLayout布局管理器。
我的思路是:可以在JPanel绘图,然后把JPanel容器添加到JFrame容器面板中。代码如下。
public class first4 extends JFrame{
public first4() {
JPanel p1 = new firstPanel();
JPanel p2 = new JPanel();

JLabel label = new JLabel("哈哈");
JButton button = new JButton("提交");

p2.add(label);
p2.add(button);

this.getContentPane().add(p1);
this.getContentPane().add(p2,BorderLayout.SOUTH);
this.setSize(800,400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new first4();
}
}
class firstPanel extends JPanel{
String s = "欢迎进入";

public void paint(Graphics g) {
g.setColor(new Color(130, 135, 205));
g.drawLine(200, 160, 340, 160);
g.drawLine(420, 160, 560, 160);
g.drawLine(250, 200, 246, 218);
g.drawLine(270, 200, 260, 240);
g.drawLine(510, 200, 514, 218);
g.drawLine(490, 200, 500, 240);
g.drawRoundRect(345, 220, 70, 50, 30, 20);
g.setColor(Color.RED);
g.setFont(new Font("Dialog", Font.ITALIC + Font.BOLD, 40));
g.drawString(s, 300, 60);
g.setColor(Color.RED);
}
}

㈡ 网格布局管理器的布局问题

Java 中规定:GridLayout 当行数和列数都设置为非零值时,指定的列数将被忽略
当你是添加了17 个button 按照7行排列,就需要 17/7 需要 3列 (7行3列)
当你添加了 12 个button 是需要 12/7 要2列 所以是 7行2列

只有在21-28 个button 的时候才会是 4 列

㈢ JAVA编程布局管理器设置问题,很无解!求高手指教。

定义的类名不要和关键字重复了,你定义的FlowLayout已经是关键字了。

㈣ java 布局管理器 问题

不能,边框布局有五个部分,每个部分只能放一个组件,假如你想在一个部分里面放多个组件,建议你先把这几个组件放在jpanel里,再放入边框布局。

㈤ java布局管理器的问题!!

package my;
import java.awt.FlowLayout;import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class T extends JFrame{
JPanel j1;
JPanel j1_1;
JPanel j1_2;
JPanel j1_3;
JButton J1_1_1;
JButton J1_1_2;
JButton J1_1_3;
JButton J1_2_1;
JButton J1_2_2;
JButton J1_3_1;

public T() {
// TODO Auto-generated constructor stub
j1=(JPanel)this.getContentPane();
j1_1=new JPanel();
J1_1_1=new JButton("1");
J1_1_2=new JButton("2");
J1_1_3=new JButton("3");
j1_1.add(J1_1_1);
j1_1.add(J1_1_2);
j1_1.add(J1_1_3);
j1_1.setLayout(new FlowLayout());
j1_2=new JPanel();
J1_2_1=new JButton("4");
J1_2_2=new JButton("5");
j1_2.add(J1_2_1);
j1_2.add(J1_2_2);
j1_2.setLayout(new FlowLayout());
j1_3=new JPanel();
J1_3_1=new JButton("6");
j1_3.add(J1_3_1);
j1_3.setLayout(new FlowLayout());
j1.add(j1_1);
j1.add(j1_2);
j1.add(j1_3);
j1.setLayout(new GridLayout(3, 1));
this.pack();
this.setVisible(true);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

}
public static void main(String[] args) {
new T();
}

}

看看,有什么问题么

㈥ java SE中关于布局管理器和组件大小的问题。

你把JFrame设置个BorderLayout,把JPanel放在North里,JPanel就会自动调整大小了。
至于JPanel里的布局,不知你出于什么特殊理由,单纯需要重叠的话应该有合适的布局管理器。另外还有个思路,改变一下你的设计方法,可能就有更简单的方案。实际上很多设计中的需求以前就有很多人遇到了并且作出了好的方案,甚至已经是标准做法,所以多学习参考一下,避免重新发明轮子。
总之,从你的问题的描述看,感觉你的思路可能有问题。

㈦ 在学习Java布局管理器时遇到的问题

你好,你看看你的setLayout应该是谁调用的,应该是frame.setLayout(...),而不是直接写setLayout.

直接写的话,相当于在WhthoutBook中调用setLayout,但是这个方法不存在,所以会报错,说不能在静态方法(main方法)中调用非静态的方法

㈧ Java布局管理器问题

this.add(jb1,BorderLayout.CENTER);
this.add(jb2,BorderLayout.NORTH);
this.add(jb2,BorderLayout.EAST);
this.add(jb2,BorderLayout.SOUTH);
this.add(jb2,BorderLayout.WEST);

并且由于你的类名也叫BorderLayout ,所以BorderLayout.CENTER..等方位的值都是null.

缺省的状态下,都会放到中间. 最后的覆盖前面的.所以最后只显示出1个jb2.并且居中

修改后的效果图

importjava.awt.BorderLayout;

importjavax.swing.JButton;
importjavax.swing.JFrame;

//注意类名
{


//定义组件
JButtonjb1,jb2,jb3,jb4,jb5;

publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
BorderLayoutDemobl=newBorderLayoutDemo();
}

publicBorderLayoutDemo(){
//创建组件
jb1=newJButton("中部");
jb2=newJButton("北部");
jb3=newJButton("东部");
jb4=newJButton("南部");
jb5=newJButton("西部");

//添加组件
this.add(jb1,BorderLayout.CENTER);
this.add(jb2,BorderLayout.NORTH);
this.add(jb3,BorderLayout.EAST);
this.add(jb4,BorderLayout.SOUTH);
this.add(jb5,BorderLayout.WEST);

//设置窗口属性
this.setTitle("边界布局案例");
this.setSize(500,400);
this.setLocation(600,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}

㈨ swing的布局管理器没效果

答: 修改后的完成效果图

importjava.awt.BorderLayout;

importjavax.swing.JFrame;
importjavax.swing.JLabel;

publicclassLogin{
publicLogin(){
JFramejframe=newJFrame("Login");
jframe.setLayout(newBorderLayout());
JLabeljl1=newJLabel("东");
JLabeljl2=newJLabel("西");
JLabeljl3=newJLabel("南",JLabel.CENTER);//文字在中
JLabeljl4=newJLabel("北",JLabel.CENTER);
JLabeljl5=newJLabel("中",JLabel.CENTER);
jframe.add(jl1,BorderLayout.EAST);
jframe.add(jl2,BorderLayout.WEST);
jframe.add(jl3,BorderLayout.SOUTH);
jframe.add(jl4,BorderLayout.NORTH);
jframe.add(jl5,BorderLayout.CENTER);//把此处的jl4修改成jl5
jframe.setSize(230,230);
jframe.setLocationRelativeTo(null);//窗口居中
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.setVisible(true);
}
publicstaticvoidmain(String[]args){
newLogin();
}
}

阅读全文

与关于布局管理器的问题和解决方法相关的资料

热点内容
中式棉袄制作方法图片 浏览:63
五菱p1171故障码解决方法 浏览:858
男士修护膏使用方法 浏览:546
电脑图标修改方法 浏览:607
湿气怎么用科学的方法解释 浏览:537
910除以26的简便计算方法 浏览:805
吹东契奇最简单的方法 浏览:704
对肾脏有好处的食用方法 浏览:98
电脑四线程内存设置方法 浏览:512
数字电路通常用哪三种方法分析 浏览:13
实训课程的教学方法是什么 浏览:525
苯甲醇乙醚鉴别方法 浏览:82
苹果手机微信视频声音小解决方法 浏览:700
控制箱的连接方法 浏览:75
用什么简单的方法可以去痘 浏览:789
快速去除甲醛的小方法你知道几个 浏览:803
自行车架尺寸测量方法 浏览:124
石磨子的制作方法视频 浏览:152
行善修心的正确方法 浏览:403
薯仔炖鸡汤的正确方法和步骤 浏览:276