0

追加しようとしていますが、機能JTextFieldJToolBarますが、長すぎます。たった3文字でいいのです。

これが今のスクリーンショットです... スクリーンショット

私は次の方法を試しました、

JTextField field = new JextField(3); // thought this limits to three characters.

そして、私は試しました、

field.setColumns(3); // this didn't work either.
4

2 に答える 2

3

ツールバーのデフォルトのレイアウトは、テキストフィールドに設定された最大サイズを尊重します。

ツールバーのテキストフィールド

import java.awt.*;
import javax.swing.*;

public class TextFieldInToolBar {

    TextFieldInToolBar() {
        JPanel p = new JPanel(new BorderLayout());

        JToolBar tb = new JToolBar();
        p.add(tb, BorderLayout.PAGE_START);

        Icon disk = (Icon)UIManager.get("FileView.floppyDriveIcon"); 
        Icon pc = (Icon)UIManager.get("FileView.computerIcon"); 
        tb.add(new JButton(disk));
        JTextField tf = new JTextField(3);
        tf.setMaximumSize(tf.getPreferredSize());
        tb.add(tf);
        tb.addSeparator();
        tb.add(new JButton(pc));

        p.setPreferredSize(new Dimension(250,50));

        JOptionPane.showMessageDialog(null, p);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new TextFieldInToolBar();
            }
        });
    }
}
于 2012-06-05T19:39:53.607 に答える
1
于 2012-06-05T19:11:57.320 に答える