0

私が使用しているコードは次のとおりです。

JMenu menu = new JMenu("Menu");

JMenuItem item = new JMenuItem("Add");
item.add(new JButton("SOMETHING A BIT WORDY"));
menu.add(item);

// ... 
JMenuBar menuBar = new JMenuBar();
menuBar.addMenu(menu);
JFrame frame = new JFrame();
frame.setJMenuBar(menuBar);

// ...
frame.pack();
frame.setVisible();

ただし、ボタン (メニュー項目の内側) は小さく表示され、ボタンのサイズが意図したテキストに収まらない場合に使用されるテキスト "..." のみが含まれます。JButton (または JTextArea、JLabel、またはコンポーネントが何であれ) に合わせて JMenuItem を「成長」させる方法はありますか?

4

1 に答える 1

1

コメントを投稿した他の人に完全に同意します。メニュー項目にボタンを配置するのは奇妙な組み合わせかもしれません。これを主張する場合は、setPreferredSize で問題を解決できます。私は悪いハードコードの実装を使用しました。幅を動的に設定する方法を知っている人は、私も教えてください。:P thx 事前に。

JMenu menu = new JMenu("Menu");

JMenuItem item = new JMenuItem("Add");
item.add(new JButton("SOMETHING A BIT WORDY"));
item.setLayout(new FlowLayout()); // set FlowLayout for item
item.setPreferredSize(new Dimension(200, 100)); // hard code implementation :-(
menu.add(item);

// ... 
JMenuBar menuBar = new JMenuBar();
menuBar.add(menu);
JFrame frame = new JFrame();
frame.setJMenuBar(menuBar);

// ...
frame.pack();
frame.setVisible(true);

ここに画像の説明を入力

于 2012-12-12T03:20:35.453 に答える