我在我的文件中有这个代码
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
Run Code Online (Sandbox Code Playgroud)
我有2个问题.
首先,由图标表示的图像文件不会自行调整大小,因此会被按钮大小剪切.
其次,工具栏显示在窗口中,但我可以将其拖出一个新的窗口.我怎样才能防止这种情况发生?
A)可以使用以下代码重新缩放图标中的图像:
icons[i].setImage(icons[i].getImage().getScaledInstance(width, height, Image.SCALE_DEFAULT));
Run Code Online (Sandbox Code Playgroud)
B)这JToolBar可以是不可爱的,这是我认为你想要的:
toolBar.setFloatable(false);
Run Code Online (Sandbox Code Playgroud)