0

私のファイルにはこのコードがあります

String[] iconFiles = { "state.jpg", "cursor.jpg", "arrow.jpg" };
String[] buttonLabels = { "New Node", "Attribute Change", "Add Edge"};
for (int i = 0; i < buttonLabels.length; ++i) {
        icons[i] = new ImageIcon(iconFiles[i]);
        buttons[i] = new JButton(icons[i]);
        buttons[i].setToolTipText(buttonLabels[i]);
        buttons[i].setPreferredSize(new java.awt.Dimension(648, 600));
        toolBar.add(buttons[i]);
        toolBar.addSeparator();
}
jp2.add(toolBar) where jp2 is a Tabbed Pane

これには2つの質問があります。

まず、アイコンで表される画像ファイルは、それ自体ではサイズが変更されないため、ボタンのサイズで切り取られます。

次に、ツールバーがウィンドウに表示されますが、それをある種の新しいウィンドウにドラッグすることができます。どうすればこれを防ぐことができますか?

4

1 に答える 1

6

A) アイコン内の画像は、次のコードを使用して再スケーリングできます。

icons[i].setImage(icons[i].getImage().getScaledInstance(width, height, Image.SCALE_DEFAULT));

B)JToolBarあなたが望むと私が思うものである unfloatable にすることができます:

toolBar.setFloatable(false);
于 2011-03-20T10:59:52.980 に答える