我在弄清楚如何将图像移动到窗口中的其他位置时遇到麻烦。我阅读了有关BorderLayout
的信息,但是我不确定如何实现它。我想将汽车放在文本区域上方,所以我会以某种方式使用BorderLayout.NORTH
吗?
b3.addActionListener(new ActionListener() {
/**
* Displays the arraylist.
*/
public void actionPerformed(ActionEvent e) {
if (cars.size()>0){
ImageIcon icon = new ImageIcon(Window.class.getResource("/car.png"));
StringBuilder sb = new StringBuilder();
for(int i=0; i < cars.size(); i++) {
sb.append("Car " + (i+1) + ": " + cars.get(i) + "\n");
}
Font font = new Font("Times New Roman", Font.PLAIN, 14);
JTextArea textArea = new JTextArea(sb.toString());
JScrollPane scrollPane = new JScrollPane(textArea);
textArea.setFont(font);
textArea.setForeground(Color.BLACK);
textArea.setLineWrap(true);
textArea.setEditable(false);
textArea.setWrapStyleWord(true);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setPreferredSize(new Dimension( 100, 125 ));
JOptionPane.showMessageDialog(null, scrollPane, "Inventory", JOptionPane.PLAIN_MESS![enter image description here][2]AGE, icon);
}
else {
JOptionPane.showMessageDialog(null, "No cars in inventory", "Error", JOptionPane.ERROR_MESSAGE);
}
}
});
最佳答案
您声明:
我在弄清楚如何将图像移动到窗口中的其他位置时遇到麻烦。
您将要告诉我们您的问题的详细信息。您现在的形象在哪里?您希望您的GUI是什么样的?细节很重要。
我读了有关BorderLayout的文章,但不确定如何实现。
是什么让您对本教程感到困惑?
我没有把车放到文本区域上方,所以我会以某种方式使用BorderLayout.NORTH吗?
通常,在将组件添加到使用BorderLayout的容器中时,使用诸如BorderLayout.NORTH
之类的BorderLayout常量。 “添加”是指调用容器的add(...)
方法,通过该方法,您首先将要添加到容器中的组件传递到此方法中,然后将常量告知BorderLayout布局管理器要将其添加到的位置。
例如。,
JPanel container = new JPanel(new BorderLayout());
JLabel label = new JLabel("North Label");
container.add(label, BorderLayout.NORTH);
但是再次了解详细信息,您需要阅读本教程。链接:
Java Tutorials Big Index
BorderLayout Tutorial
The main Layout Manager Tutorial
Swing Tutorials
关于java - 如何在窗口中移动图像?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23038452/