java jpanel 居中_如何设置JLabel在JPanel中的位置,我添加以后始终是居中显示的,新手谢谢帮助拉...

展开全部

正确的使用布局管32313133353236313431303231363533e59b9ee7ad9431333264653430理器是完成界面布局的基础。

布局管理器推荐:MigLayout

JPanel默认的布局管理器是FlowLayout,而且alignment=FlowLayout.CENTER。所以若未指定布局管理器,则JPanel上所有控件均居中排列。

使用布局管理器首先应为容器确定布局管理器

如:

JPanel panel = new JPanel

panel.setLayout(setLayout(new java.awt.BorderLayout()); // 使用BorderLayout

推荐使用MigLayout。需要下载Miglayout包,使用方式具体参见MigLayout的手册。这里给出简单的使用方式:

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JLabel;

import net.miginfocom.swing.MigLayout;

import javax.swing.JTextField;

import javax.swing.JButton;

public class Test extends JPanel{

private JTextField textField;

private JTextField textField_1;

public Test() {

setLayout(new MigLayout("", "[][grow]", "[][][]"));

JLabel label = new JLabel("New label");

add(label, "cell 0 0,alignx trailing");

textField = new JTextField();

add(textField, "cell 1 0,growx");

textField.setColumns(10);

JLabel label_1 = new JLabel("New label");

add(label_1, "flowy,cell 0 1,alignx trailing");

textField_1 = new JTextField();

add(textField_1, "cell 1 1,growx");

textField_1.setColumns(10);

JPanel panel = new JPanel();// 此Panel未设定布局管理器,故使用FLowLayout,且alignment=FlowLayout.CENTER

add(panel, "cell 0 2 2 1,grow");

JButton button = new JButton("New button");

panel.add(button);

JButton button_1 = new JButton("New button");

panel.add(button_1);

}

public static void main(String args[]){

JFrame frame = new JFrame("Test");

frame.add(new Test());

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setBounds(50, 50, 300, 150);

frame.setVisible(true);

}

}

c8acc0a945f7ebf660d601acaab14780.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
import WordSegment.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.*; import java.io.File; import java.util.Vector; import javax.swing.*; /** * */ /** * @author Truman * */ public class WordSegDemoFrame extends JFrame implements ActionListener { final static int ALGO_FMM = 1; final static int ALGO_BMM = 2; private JMenuBar menuBar = new JMenuBar(); private JMenuItem openDicItem, closeItem; private JRadioButtonMenuItem fmmItem, bmmItem; private JMenuItem openTrainFileItem, saveDicItem, aboutItem; private JButton btSeg; private JTextField tfInput; private JTextArea taOutput; private JPanel panel; JLabel infoDic, infoAlgo; private WordSegment seger; private DicTrainer trainer = new DicTrainer(); private void initFrame() { setTitle("Mini分词器"); setDefaultCloseOperation(EXIT_ON_CLOSE); setJMenuBar(menuBar); JMenu fileMenu = new JMenu("文件"); JMenu algorithmMenu = new JMenu("分词算法"); JMenu trainMenu = new JMenu("训练语料"); JMenu helpMenu = new JMenu("帮助"); openDicItem = fileMenu.add("载入词典"); fileMenu.addSeparator(); closeItem = fileMenu.add("退出"); algorithmMenu.add(fmmItem = new JRadioButtonMenuItem("正向最大匹配", true)); algorithmMenu.add(bmmItem = new JRadioButtonMenuItem("逆向最大匹配", false)); ButtonGroup algorithms = new ButtonGroup(); algorithms.add(fmmItem); algorithms.add(bmmItem); openTrainFileItem = trainMenu.add("载入并训练语料"); saveDicItem = trainMenu.add("保存词典"); aboutItem = helpMenu.add("关于Word Segment Demo"); menuBar.add(fileMenu); menuBar.add(algorithmMenu); menuBar.add(trainMenu); menuBar.add(helpMenu); openDicItem.addActionListener(this); closeItem.addActionListener(this); openTrainFileItem.addActionListener(this); saveDicItem.addActionListener(this); aboutItem.addActionListener(this); fmmItem.addActionListener(this); bmmItem.addActionListener(this); JPanel topPanel = new JPanel(); topPanel.setLayout(new FlowLayout());

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值