A. java中的GridBagLayout是怎么调组件间距的...
java中的GridBagLayout调组件间距使用百分比来调,实例如下:
packageJavaGUI;
importjava.awt.EventQueue;
importjava.awt.GridBagConstraints;
importjava.awt.GridBagLayout;
importjava.awt.Insets;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.border.EmptyBorder;
importjavax.swing.UIManager;
{
/**
*
*/
=-4481121176026056530L;
privateJPanelcontentPane;
/**
*Launchtheapplication.
*/
publicstaticvoidmain(String[]args){
try{
UIManager
.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
}catch(Throwablee){
e.printStackTrace();
}
EventQueue.invokeLater(newRunnable(){
publicvoidrun(){
try{
GridBagLayoutDemoframe=newGridBagLayoutDemo();
frame.setVisible(true);
}catch(Exceptione){
e.printStackTrace();
}
}
});
}
/**
*Createtheframe.
*/
publicGridBagLayoutDemo(){
setTitle("网格组布局");//设置窗体的标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置窗体退出时操作
setBounds(100,100,450,200);//设置窗体位置和大小
contentPane=newJPanel();//创建内容面板
contentPane.setBorder(newEmptyBorder(5,5,5,5));//设置面板的边框
setContentPane(contentPane);//应用内容面板
GridBagLayoutgbl_contentPane=newGridBagLayout();//创建网格组布局
contentPane.setLayout(gbl_contentPane);//使用网格组布局
JButtonbutton1=newJButton("A");//创建按钮
GridBagConstraintsgbc_button1=newGridBagConstraints();//创建网格组布局约束条件
gbc_button1.insets=newInsets(0,0,5,5);//设置控件的空白
gbc_button1.fill=GridBagConstraints.HORIZONTAL;//设置填充方式
gbc_button1.weightx=10.0;//第一列的分布方式为10%
gbc_button1.gridx=0;//起始点为第1列
gbc_button1.gridy=0;//起始点为第1行
contentPane.add(button1,gbc_button1);//增加按钮及其约束条件
JButtonbutton2=newJButton("B");//创建按钮
GridBagConstraintsgbc_button2=newGridBagConstraints();//创建网格组布局约束条件
gbc_button2.insets=newInsets(0,5,5,5);//设置控件的空白
gbc_button2.fill=GridBagConstraints.HORIZONTAL;//设置填充方式
gbc_button2.weightx=20.0;//第一列的分布方式为20%
gbc_button2.gridx=1;//起始点为第2列
gbc_button2.gridy=0;//起始点为第1行
contentPane.add(button2,gbc_button2);//增加按钮及其约束条件
JButtonbutton3=newJButton("C");//创建按钮
GridBagConstraintsgbc_button3=newGridBagConstraints();//创建网格组布局约束条件
gbc_button3.gridheight=2;//占用2列
gbc_button3.fill=GridBagConstraints.BOTH;//设置填充方式
gbc_button3.weightx=30.0;//第一列的分布方式为30%
gbc_button3.insets=newInsets(0,0,5,5);//设置控件的空白
gbc_button3.gridx=2;//起始点为第3列
gbc_button3.gridy=0;//起始点为第1行
contentPane.add(button3,gbc_button3);//增加按钮及其约束条件
JButtonbutton4=newJButton("D");//创建按钮
GridBagConstraintsgbc_button4=newGridBagConstraints();//创建网格组布局约束条件
gbc_button4.weightx=40.0;//第一列的分布方式为40%
gbc_button4.fill=GridBagConstraints.BOTH;//设置填充方式
gbc_button4.gridheight=4;//占用4列
gbc_button4.insets=newInsets(0,5,0,0);//设置控件的空白
gbc_button4.gridx=3;//起始点为第4列
gbc_button4.gridy=0;//起始点为第1行
contentPane.add(button4,gbc_button4);//增加按钮及其约束条件}
}
B. Java网格包布局,组件垂直间距怎么调
GridBagLayout里的各种设置都必须通过GridBagConstraints,因此当我们将GridBagConstraints的参数都设置
好了之后,必须new一个GridBagConstraints的对象出来,以便GridBagLayout使用。
参数说明:
gridx,gridy:设置组件的位置,gridx设置为GridBagConstraints.RELATIVE代表此组件位于之前所加入组件的右边。
若将gridy设置为GridBagConstraints.RELATIVE代表此组件位于以前所加入组件的下面。建议定义出gridx,gridy的
位置,以便以后维护程序。表示放在几行几列,gridx=0,gridy=0时放在0行0列。
gridwidth,gridheight:用来设置组件所占的单位长度与高度,默认值皆为1。你可以使用GridBagConstraints.REMAINDER常量,代表此组件为此行或此列的最后一个组件,而且会占据所有剩余的空间。
weightx,weighty:用来设置窗口变大时,各组件跟着变大的比例,当数字越大,表示组件能得到更多的空间,默认值皆为0。
anchor:当组件空间大于组件本身时,要将组件置于何处,有CENTER(默认值)、NORTH、NORTHEAST、EAST、SOUTHEAST、 WEST、NORTHWEST可供选择。
insets:设置组件之间彼此的间距,它有四个参数,分别是上,左,下,右,默认为(0,0,0,0).
ipadx,ipady:设置组件内的间距,默认值为0。
C. java swing中如何设置一个组件与其父组件的间距
D. JAVA边框布局,网格布局如何设置与窗体之间有间隙,要求具体做法!
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JFrame;
public class test extends JFrame{
private int xx, yy;
private boolean isDraging = false;
public test(){
setUndecorated(true); // 没有标题栏
setSize(200, 200);
setVisible(true);
this.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
isDraging = true;
xx = e.getX();
yy = e.getY();
}
public void mouseReleased(MouseEvent e) {
isDraging = false;
}
});
this.addMouseMotionListener(new MouseMotionAdapter() {
public void mouseDragged(MouseEvent e) {
if (isDraging) {
int left = getLocation().x;
int top = getLocation().y;
setLocation(left + e.getX() - xx, top + e.getY() - yy);
}
}
});
}
public static void main(String[] args) {
test t =new test();
t.setDefaultCloseOperation(3);
}
}
E. java JFrame 调整组件位置
public class NewClass2{
public static void main(String[] args){
JLabel jl=new JLabel("");
jl.setIcon(new ImageIcon("images/rear.gif"));
jl.setLayout(null);
jl.setBounds(20, 20, 20, 20);//参数的值只对输出的p的值有影响,对窗口中的图片位置完回全没答影响
jl.setLocation(30, 30);
Point p=jl.getLocation();
JFrame jf=new JFrame();
Container pane=jf.getContentPane();
pane.add(jl);
jf.setSize(200, 200);
jf.setVisible(true);
System.out.print(p);
}
}
F. Java FlowLayout怎么调整组件的间隔
FlowLayout没法完成你的需求,他只能所有调节所有组件的间隔裂唤。否则也不能称之为流式布局了
根据你的需求,你可以将button1单独布局在JPanel上,后面按钮都用FlowLayout布局在另一个JPanel上。然后再按你需要的距离布局2个JPanel。
可以设置JPanel的空白边肆判凯框,到达间隔的效果冲答
G. JAVA 如何给组件绘制边框
调用组件的
setBorder(new LineBorder(Color color))
可和携以绘制组件的边框,边框为像素为1,颜色为color的直线
具体可以参考组件散磨setBorder()方法和LineBorder边框类的API
还有其他的边冲棚斗框类
H. java中,label或者文本框怎么设置字符之间的间距
用空格填充
JTextFieldfield=newJTextField();
field.setText(translate("test",4));
/**
*设置文件间隔
*@paramstr文本内容
*@paraminterval字符间隔
*@return
*/
privatestaticStringtranslate(Stringstr,intinterval){
StringBuffersb=newStringBuffer();
StringBuffersb1=newStringBuffer();
for(inti=0;i<interval;i++){
sb.append("");
}
for(inti=0;i<str.length();i++){
猜没if(i==str.length()-1){
穗腊纳sb1.append(str.substring(i,i+1));
break;
}
sb1.append(str.substring(i,i+1)).append(sb.toString());
局液}
returnstr;
}
I. java中如何缩小两个jpanel间的距离
GridLayout grid = new GridLayout();
grid.setHgap(h);//设置组件之间的水平距离为h(int型)
grid.setVgap(v);//设置组件之间的垂直距离为v(int型)
因为GridLayout布局判卜中每个网格都是大小相同并且强制基竖组件与网格大小相同的。所以如果楼主要用这个布局的话可以使用容器的嵌套,使界面看上去比较美观。例如:一个容器使用了GridLayout布局,将容器分为三行一列的网格,那么可以把另一个容器添加到某个网格中,再给这个容器设置掘锋穗一个合理的布局来达到理想的层次。
J. java中界面设计的网格布局怎样设计边距
GridLayout有三种构造方法。第三种方法可以设计边距
构造方法详细信息
1。GridLayout
public GridLayout()
创建具有默认值的网格布局,即每个组件占据一行一列。
从以下版本开始:
JDK1.1
2。GridLayout
public GridLayout(int rows,
int cols)
创建具有指定行数和列数的网格布局。给布局中的所有组件分配相等的大小。
rows 和 cols 中的一个可以为零(但不能两者同时为零),这表示可以将任何数目的对象置于行或列中。
参数:
rows - 该 rows 具有表示任意行数的值零。
cols - 该 cols 具有表示任意列数的值零。
3。GridLayout
public GridLayout(int rows,
int cols,
int hgap,
int vgap)
创建具有指定行数和列数的网格布局。给布局中的所有组件分配相等的大小。
此外,将水平和垂直间距设置为指定值。水平间距将置于列与列之间。将垂直间距将置于行与行之间。
rows 和 cols 中的一个可以为零(但不能两者同时为零),这表示可以将任何数目的对象置于行或列中。
所有 GridLayout 构造方法都服从这一规定。
参数:
rows - 该 rows 具有表示任意行数的值零
cols - 该 cols 具有表示任意列数的值零
hgap - 水平间距
vgap - 垂直间距
抛出:
IllegalArgumentException - 如果将 rows 和 cols 的值都设置为零