一个网袋布局(GridBagLayout)的问题

feifei32 2004-09-17 03:17:58
import java.awt.*;
public class guitest6 extends Frame
{
public guitest6()
{
setTitle("网袋布局");
GridBagLayout layout=new GridBagLayout();
Panel p=new Panel(layout);
GridBagConstraints cons=new GridBagConstraints();
cons.gridx=100;
cons.gridy=100;
cons.gridwidth=1;
cons.gridheight=4;
cons.weightx=0;
cons.weighty=GridBagConstraints.RELATIVE;
Button b1=new Button("A");
layout.setConstraints(b1,cons);
p.add(b1);

cons.gridx=200;
cons.gridy=100;
cons.gridwidth=1;
cons.gridheight=1;
cons.weightx=0;
cons.weighty=0;
Button b2=new Button("B");
layout.setConstraints(b2,cons);
p.add(b2);

cons.gridx=200;
cons.gridy=125;
cons.gridwidth=1;
cons.gridheight=1;
cons.weightx=0;
cons.weighty=0;
Button b3=new Button("C");
layout.setConstraints(b3,cons);
p.add(b3);

cons.gridx=200;
cons.gridy=150;
cons.gridwidth=1;
cons.gridheight=1;
cons.weightx=0;
cons.weighty=0;
Button b4=new Button("D");
layout.setConstraints(b4,cons);
p.add(b4);

cons.gridx=200;
cons.gridy=175;
cons.gridwidth=1;
cons.gridheight=1;
cons.weightx=0;
cons.weighty=0;
Button b5=new Button("E");
layout.setConstraints(b5,cons);
p.add(b5);



add("Center",p);




}
public boolean handleEvent(Event evt)
{
if(evt.id==Event.WINDOW_DESTROY)System.exit(0);
return super.handleEvent(evt);

}

public static void main(String[] args)
{
guitest6 f=new guitest6();
f.resize(600,500);
f.setBackground(Color.white);
f.show();
}
}

想用GridBagLayout实现下面的按钮效果,那里不对,为什么?
----------------------
| ________________ |
| | | B | |
| | --------- |
| | | C | |
| | A --------- |
| | | D | |
| | --------- |
| | | E | |
| ---------------- |
|____________________|
...全文
273 13 打赏 收藏 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
mail25 2004-09-22
  • 打赏
  • 举报
回复
把添加组件的方法改一下就好了


import java.awt.*;

public class test {

public static void main(String args[]) {
Frame f = new Frame(" GridBagLayout Simples");
GridBagConstraints c ;

f.setLayout(new GridBagLayout());

f.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
System.exit(0);
}
});

c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
c.gridheight = 4;
c.fill = GridBagConstraints.VERTICAL;
f.add(new Button("A"), c);

c = new GridBagConstraints();
c.gridx = 1;
c.gridy = 0;
f.add(new Button("B"), c);

c = new GridBagConstraints();
c.gridx = 1;
c.gridy = 1;
f.add(new Button("C"), c);

c = new GridBagConstraints();
c.gridx = 1;
c.gridy = 2;
f.add(new Button("E"), c);

c = new GridBagConstraints();
c.gridx = 1;
c.gridy = 3;
f.add(new Button("E"), c);

f.pack();
f.show();


}
}
feifei32 2004-09-22
  • 打赏
  • 举报
回复
bovy(★ 天道酬勤 ★) 你的我试过了,好像不行,mail25(随风飘) 的可以。难道awt就实现不了吗?
继续等待.....
bovy 2004-09-18
  • 打赏
  • 举报
回复
package com.boasoft;

import java.awt.Button;
import java.awt.Color;
import java.awt.Event;
import java.awt.Frame;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Panel;

public class RadioButtonDemo extends Frame
{
public RadioButtonDemo()
{
setTitle("网袋布局");
GridBagLayout layout=new GridBagLayout();

Panel p=new Panel(layout);
GridBagConstraints cons=new GridBagConstraints();
cons.gridx=100;
cons.gridy=135; // modified here
cons.gridwidth=2;
cons.gridheight=4;
cons.weightx=0;
cons.weighty=GridBagConstraints.RELATIVE;
Button b1=new Button("A");
layout.setConstraints(b1,cons);
p.add(b1);

cons.gridx=200;
cons.gridy=100;
cons.gridwidth=1;
cons.gridheight=1;
cons.weightx=0;
cons.weighty=0;
Button b2=new Button("B");
layout.setConstraints(b2,cons);
p.add(b2);

cons.gridx=200;
cons.gridy=125;
cons.gridwidth=1;
cons.gridheight=1;
cons.weightx=0;
cons.weighty=0;
Button b3=new Button("C");
layout.setConstraints(b3,cons);
p.add(b3);

cons.gridx=200;
cons.gridy=150;
cons.gridwidth=1;
cons.gridheight=1;
cons.weightx=0;
cons.weighty=0;
Button b4=new Button("D");
layout.setConstraints(b4,cons);
p.add(b4);

cons.gridx=200;
cons.gridy=175;
cons.gridwidth=1;
cons.gridheight=1;
cons.weightx=0;
cons.weighty=0;
Button b5=new Button("E");
layout.setConstraints(b5,cons);
p.add(b5);



add("Center",p);




}
public boolean handleEvent(Event evt)
{
if(evt.id==Event.WINDOW_DESTROY)System.exit(0);
return super.handleEvent(evt);

}

public static void main(String[] args)
{
RadioButtonDemo f=new RadioButtonDemo();
f.resize(600,500);
f.setBackground(Color.white);
f.show();
}
}
//是要这个效果吗?建议你使用JPanel中来布局,就像HTML使用<table>来布局一样
Collection 2004-09-18
  • 打赏
  • 举报
回复
应该用JBuilder来创建就不用发愁布局的问题了
feifei32 2004-09-18
  • 打赏
  • 举报
回复
ding
mail25 2004-09-18
  • 打赏
  • 举报
回复
这个是你想要的效果啊!测试过没问题的

import javax.swing.*;
import java.awt.*;

public class test {

public static void main(String args[]) {
JFrame f = new JFrame(" GridBagLayout Simples");
GridBagConstraints c ;

f.getContentPane().setLayout(new GridBagLayout());

f.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
System.exit(0);
}
});

c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
c.gridheight = 4;
c.fill = GridBagConstraints.VERTICAL;
f.getContentPane().add(new JButton("A"), c);

c = new GridBagConstraints();
c.gridx = 1;
c.gridy = 0;
f.getContentPane().add(new JButton("B"), c);

c = new GridBagConstraints();
c.gridx = 1;
c.gridy = 1;
f.getContentPane().add(new JButton("C"), c);

c = new GridBagConstraints();
c.gridx = 1;
c.gridy = 2;
f.getContentPane().add(new JButton("E"), c);

c = new GridBagConstraints();
c.gridx = 1;
c.gridy = 3;
f.getContentPane().add(new JButton("E"), c);

f.pack();
f.show();


}
}
mail25 2004-09-18
  • 打赏
  • 举报
回复
JBuilder是好用,但公司现在不用这东西,用EditPlus + JDK,就是在做GUI时比较痛苦
理想哥 2004-09-17
  • 打赏
  • 举报
回复
高手快来呀!!期待准确完整的答复。
feifei32 2004-09-17
  • 打赏
  • 举报
回复
ding
mail25 2004-09-17
  • 打赏
  • 举报
回复
这东东功能强,但不是很好用,特别是在不用IDE开发时,昨天为了一个布局折腾了一上午才搞好,看到它就头大!
bradwoo8621 2004-09-17
  • 打赏
  • 举报
回复
Insets insets = new Insets(5,5 ,5 , 5);
panel.add(a, new GridBagConstraints(0, 0, 1, 4, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, insets, 0, 0));
panel.add(b, new GridBagConstraints(1, 0, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, insets, 0, 0));
panel.add(c, new GridBagConstraints(2, 0, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, insets, 0, 0));
panel.add(d, new GridBagConstraints(3, 0, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, insets, 0, 0));
panel.add(e, new GridBagConstraints(4, 0, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, insets, 0, 0));
feifei32 2004-09-17
  • 打赏
  • 举报
回复
ding
feifei32 2004-09-17
  • 打赏
  • 举报
回复
自己ding
源码直接下载地址: https://pan.quark.cn/s/a4b39357ea24 【FAST FWR310 无线路由更新程序】是一个专门为FAST FWR310型号无线路由设备设计的固件升级方案,其主要目的在于改善设备的工作表现、纠正已知的系统缺陷或引入全新的操作特性。对无线路由器进行固件更新,实质上是指替换或升级其核心操作系统(即固件),从而使其运行状态得到进一步优化。 在无线路由器的持续使用阶段,用户有时会遭遇若干操作难题,例如网络连接的频繁中断、数据传输速率不高、无线信号覆盖范围有限等情况。针对此类挑战,通过安装新的固件(即刷机包),能够有效应对上述问题,因为新固件或许已经针对这些普遍存在的问题进行了优化处理。不仅如此,固件升级还能开启一些隐藏的功能选项,或者兼容第三方固件,例如OpenWRT,从而让用户能够进行更深入的系统自定义配置及管理。 FWR310 V5.0升级软件20160301是该刷机包的明确版本标识,显示出这是针对FAST FWR310路由器推出的第五代固件,并且发布日期为2016年3月1日。此版本的更新内容可能涵盖以下几个方面: 1. 运行效能的调优:借助于对路由器处理流程与内存分配的改善,能够加快数据交换速率,减少响应时间,从而全面提升网络的工作效能。 2. 安全防护的强化:更新内容中可能融入了对新兴网络安全风险的防御机制,用以保障用户的资料安全。 3. 互操作性的扩展:可能增强了与更多设备及协议的适配能力,比如最新的无线通信标准或设备连接模式。 4. 运行稳定性的提升:修复了可能引发路由器系统崩溃或意外重启的已知故障,延长了设备的稳定运行周期。 5. 新特性集成:或许增添了提升用户体验的功能,例如远程操作控制、家长监管功能、服务质...
内容概要:本文围绕基于混沌系统与DNA编码的彩色图像加密解密体系展开研究,旨在解决传统图像加密算法密钥空间小、抗干扰能力弱等问题。通过结合混沌系统的伪随机性与DNA编码的高维组合特性,构建了多层级、高复杂度的加密框架,实现了对彩色图像RGB三通道的混淆与扩散操作。研究重点包括加密算法的设计与实现、密钥敏感性分析以及抗噪声和抗裁剪性能的系统性测试。实验结果表明,该算法在面对高斯噪声、椒盐噪声及不同面积、位置的图像裁剪攻击时,仍能较好地恢复图像主体结构与核心信息,展现出优良的鲁棒性和实用性。文章还总结了当前研究的不足,并对未来优化方向进行了展望。; 适合人群:具备一定信息安全、图像处理或密码学基础知识的科研人员、研究生及工程技术人员。; 使用场景及目标:①用于高安全性需求下的图像传输与存储场景,如军事通信、医疗影像保护等;②为复合型图像加密技术的研究提供理论支持与实验依据,推动加密算法向高鲁棒性、强抗攻击能力方向发展; 阅读建议:建议读者结合文中提供的理论基础与实验分析,深入理解混沌与DNA编码的融合机制,并可通过复现实验进一步掌握算法细节与性能边界,重点关注抗干扰测试部分以评估其在实际应用中的可靠性。

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧