import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import java.awt.Dimension;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionListener;
public class Board extends JPanel {
public static void main (String args[]){
Board gb = new Board();//首先初始化一个五子棋的对象
//然后初始化桌面
gb.initB();
}
public void initB(){
JFrame jf = new JFrame();//1、新建一个Frame
jf.setTitle("five in a raw");//给这个frame一个名字
jf.setSize(800,600);//设置frame大小
jf.setLocationRelativeTo(null);//这个就是设置窗口位置,要是没有就默认是中间显示
jf.setDefaultCloseOperation(3);//这里就是点关闭就是关闭
//然后就开始设置布局,这里用的是boarder的那种
jf.setLayout(new BorderLayout());
//这种设置方法可以重复使用尺寸,也可以不用下面这种,在每个设置尺寸的地方手动打尺寸
//设置一些固定大小的框框
Dimension d1 = new Dimension(150,250);//设置右边的框框的大小
Dimension d2 = new Dimension(140,40);//设置右边框框内的按键大小
Dimension d3 = new Dimension(500,150);//设置左边大小
//setPreferredSize(d3);//设置棋盘部分
//这里设置大小也可以换成,setSize;setSize是设定的固定大小,而setPreferredSize仅仅是设置最好的大小,
// 这个不一定与实际显示出来的控件大小一致(根据界面整体的变化而变化
this.setSize(500,450);//类要是不extends JPanel就用不了this这种写法
// this.setPreferredSize(d3);
this.setBackground(Color.orange);//设置背景色
jf.add(this,BorderLayout.CENTER);//布局是放在中间
//现在设置右边的界面
JPanel jp =new JPanel();//新建一个Panel
jp.setPreferredSize(d1);//设置大小
jp.setBackground(Color.white);//设置颜色
jf.add(jp,BorderLayout.EAST);//把panel加到之前的那个frame上,并且放在右边
jp.setLayout(new FlowLayout());//顺序排列
//把按钮放在JPanel上
String[] buttonName={"start","undo","give up"};//设置按钮名字
JButton[] button = new JButton[3];//新建按钮对象数组
//设置按钮大小、并放到右侧
for(int i =0;i<buttonName.length;i++){
button[i]=new JButton(buttonName[i]);//分别把每个按钮命名
button[i].setPreferredSize(d2);//设置按钮大小
jp.add(button[i]);//将按钮添加到Panel上
}
//监控按钮
//显示图像
jf.setVisible(true);
}
}
注意setPreferredSize();函数的参数只能是Dimension
而setSize();参数可以是宽高具体数字,也可以是Dimension
https://www.cnblogs.com/chy18883701161/archive/2019/06/22/11069861.html
1、setSize()的使用方式
- setSize(int width,int height)
- setSize(Dimension d)
2、setPreferredSize()的使用方式
- setSize(Dimension d)