java Swing JPanel 怎么修改默认布局

java Swing JPanel 怎么修改默认布局,第1张

1布局首先要理清思路,那一个组件放在哪个组件里面,就如你的代码他们分别是 JFrame f中放置了JPanel center,而JPanel center中又放置了5个testPanel[] t = new testPanel[5];
也就是说,你的5个test_shu对象的位置由center容器的布局方式决定即你的代码22行处 private JPanel center = new JPanel(new FlowLayout());
这个布局方式决定,所以,而FlowLayout的布局方式的默认值是:
流式布局管理器把容器看成一个行集,好象平时在一张纸上写字一样,一行写满就换下一行。行高是用一行中的控件高度决定的。FlowLayout是所有 JApplet/JApplet的默认布局。在生成流式布局时能够指定显示的对齐方式,默认情况下是居中(FlowLayoutCENTER)
FlowLayout() //生成一个默认的流式布局,组件在容器里居中,每个组件之间留下5个像素的距离
FlowLayout(int alinment) //可以设定每行组件的对齐方式
FlowLayout(int alignment,int horz,int vert) //设定对齐方式并设定组件水平和垂直的距离
当容器的大小发生变化时,用FlowLayout管理的组件会发生变化,其变化规律是:组件的大小不变,但是相对位置会发生变化
所以要达到你的效果,只需要将
22行处的代码改成如下设置就可以了:
private JPanel center = new JPanel(new FlowLayout(FlowLayoutCENTER, 0, 0));

你采用的BorderLayout确实就是这样的 没有间距 你可以有panel默认的flowLayout或者是GridBagLayout 推荐是后者 后者很麻烦 但是你可以随意的摆放它

具体字体大小之类的细节你可以根据自己需要改动下就行

package mytestmain;
import javaawtBorderLayout;
public class First extends JDialog {
private final JPanel contentPanel = new JPanel();
/
  Launch the application
 /
public static void main(String[] args) {
try {
First dialog = new First();
dialogsetDefaultCloseOperation(JDialogDISPOSE_ON_CLOSE);
dialogsetVisible(true);
} catch (Exception e) {
eprintStackTrace();
}
}
/
  Create the dialog
 /
public First() {
setBounds(100, 100, 450, 300);
getContentPane()setLayout(new BorderLayout());
contentPanelsetBackground(new Color(90, 155, 213));
contentPanelsetLayout(new GridLayout(1, 1));
getContentPane()add(contentPanel, BorderLayoutCENTER);

JLabel lblNewLabel = new JLabel("Hi,I hope you are having a good day!");
lblNewLabelsetHorizontalAlignment(SwingConstantsCENTER);
contentPaneladd(lblNewLabel);
}
}
package mytestmain;
import javaawtBorderLayout;
public class Second extends JDialog {
private final JPanel contentPanel = new JPanel();
/
  Launch the application
 /
public static void main(String[] args) {
try {
Second dialog = new Second();
dialogsetDefaultCloseOperation(JDialogDISPOSE_ON_CLOSE);
dialogsetVisible(true);
} catch (Exception e) {
eprintStackTrace();
}
}
/
  Create the dialog
 /
public Second() {
setBounds(100, 100, 450, 276);
getContentPane()setLayout(new BorderLayout());
contentPanelsetLayout(new BorderLayout(0, 0));
getContentPane()add(contentPanel, BorderLayoutCENTER);
{
JPanel panel = new JPanel();
panelsetBackground(new Color(90, 155, 213));
FlowLayout flowLayout = (FlowLayout) panelgetLayout();
flowLayoutsetAlignment(FlowLayoutLEFT);
contentPaneladd(panel, BorderLayoutNORTH);
{
JLabel lblNewLabel = new JLabel("Please select an option:");
paneladd(lblNewLabel);
}
}
{
JPanel panel = new JPanel();
panelsetBackground(new Color(90, 155, 213));
FlowLayout flowLayout = (FlowLayout) panelgetLayout();
flowLayoutsetAlignment(FlowLayoutRIGHT);
contentPaneladd(panel, BorderLayoutSOUTH);
{
JLabel lblNewLabel_1 = new JLabel("Option selected:_________");
paneladd(lblNewLabel_1);
}
}
{
JPanel panel = new JPanel();
panelsetBorder(new EmptyBorder(0, 20, 0, 20));
panelsetBackground(new Color(90, 155, 213));
contentPaneladd(panel, BorderLayoutCENTER);
panelsetLayout(new GridLayout(2, 3, 20, 20));
{
JPanel panel_1 = new JPanel();
panel_1setBackground(new Color(157, 195, 231));
paneladd(panel_1);
panel_1setLayout(new GridLayout(2, 1, 0, 0));
{
JLabel lblNewLabel_2 = new JLabel("1");
lblNewLabel_2setHorizontalAlignment(SwingConstantsCENTER);
panel_1add(lblNewLabel_2);
}
{
JLabel lblNewLabel_3 = new JLabel("fish");
lblNewLabel_3setHorizontalAlignment(SwingConstantsCENTER);
panel_1add(lblNewLabel_3);
}
}
{
JPanel panel_1 = new JPanel();
panel_1setBackground(new Color(244, 177, 132));
paneladd(panel_1);
panel_1setLayout(new GridLayout(2, 1, 0, 0));
{
JLabel lblNewLabel_2 = new JLabel("2");
lblNewLabel_2setHorizontalAlignment(SwingConstantsCENTER);
panel_1add(lblNewLabel_2);
}
{
JLabel lblNewLabel_3 = new JLabel("meat");
lblNewLabel_3setHorizontalAlignment(SwingConstantsCENTER);
panel_1add(lblNewLabel_3);
}
}
{
JPanel panel_1 = new JPanel();
panel_1setBackground(new Color(129, 225, 249));
paneladd(panel_1);
panel_1setLayout(new GridLayout(2, 1, 0, 0));
{
JLabel lblNewLabel_2 = new JLabel("3");
lblNewLabel_2setHorizontalAlignment(SwingConstantsCENTER);
panel_1add(lblNewLabel_2);
}
{
JLabel lblNewLabel_3 = new JLabel("rice");
lblNewLabel_3setHorizontalAlignment(SwingConstantsCENTER);
panel_1add(lblNewLabel_3);
}
}
{
JPanel panel_1 = new JPanel();
panel_1setBackground(new Color(254, 254, 168));
paneladd(panel_1);
panel_1setLayout(new GridLayout(2, 1, 0, 0));
{
JLabel lblNewLabel_2 = new JLabel("4");
lblNewLabel_2setHorizontalAlignment(SwingConstantsCENTER);
panel_1add(lblNewLabel_2);
}
{
JLabel lblNewLabel_3 = new JLabel("noodle");
lblNewLabel_3setHorizontalAlignment(SwingConstantsCENTER);
panel_1add(lblNewLabel_3);
}
}
{
JPanel panel_1 = new JPanel();
panel_1setBackground(new Color(230, 146, 224));
paneladd(panel_1);
panel_1setLayout(new GridLayout(2, 1, 0, 0));
{
JLabel lblNewLabel_2 = new JLabel("5");
lblNewLabel_2setHorizontalAlignment(SwingConstantsCENTER);
panel_1add(lblNewLabel_2);
}
{
JLabel lblNewLabel_3 = new JLabel("drink");
lblNewLabel_3setHorizontalAlignment(SwingConstantsCENTER);
panel_1add(lblNewLabel_3);
}
}
{
JPanel panel_1 = new JPanel();
panel_1setBackground(new Color(143, 251, 166));
paneladd(panel_1);
}
}
}
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13169513.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-15
下一篇 2023-06-15

发表评论

登录后才能评论

评论列表(0条)

保存