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 的值都設置為零