gpt4 book ai didi

java - 如何在对话框中使用BorderLayout?

转载 作者:行者123 更新时间:2023-12-02 05:56:33 25 4
gpt4 key购买 nike

我无法弄清楚如何将图像移动到窗口中的不同位置。我读到了 BorderLayout 但我不知道如何实现它。我希望图像位于文本区域上方,但我不知道如何在对话框中进行操作。

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_MESSAGE, icon);
}
else {
JOptionPane.showMessageDialog(null, "No cars available in inventory", "Error", JOptionPane.ERROR_MESSAGE);
}


}

});

Pic

最佳答案

您需要一个带有边框布局的附加 JPanel。对于该容器,您可以将图标添加到北部,并将滚动 Pane 添加到中心,如下所示。

JPanel contents = new JPanel(new BorderLayout());

JLabel carImage = new JLabel(icon);

contents.add(carImage, BorderLayout.NORTH);
contents.add(scrollPane, BorderLayout.CENTER);

JOptionPane.showMessageDialog(null, contents, "Inventory", JOptionPane.PLAIN_MESSAGE);

产生类似这样的东西:

enter image description here

关于java - 如何在对话框中使用BorderLayout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23045557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com