当前位置: 首页 > 知识库问答 >
问题:

如何在对话框中使用边框布局?

平羽
2023-03-14

我不知道如何移动和想象到窗口中的不同位置。我读过关于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);
            }


        }

    });

共有1个答案

晏华奥
2023-03-14

你需要一个额外的带有边框布局的JPanel。在这个容器中,你可以将图标添加到北面,将滚动窗格添加到中央,如下所示。

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);

产生类似这样的结果:

 类似资料:
  • 我在JavaFX的一个阶段中创建了一个按钮(名为test)。然后,当你按下这个按钮时,我会显示一个对话框,其中还有一个按钮(目前这并不重要)。现在,我希望对话框可以让我冻结整个应用程序。我的意思是,我不应该回到前一阶段,我可以这样做,只需用“X”关闭窗口。

  • 我试图在对话框中创建一个编辑文本框,用于输入密码。当我在做的时候,我不能做。我是这方面的初学者。请帮我做这件事。 形象 我想得到作为

  • 我的目标是使用MFC创建一个无框架对话框,它是像图中所示的普通矩形,我对MFC应用程序有基本的了解。

  • 我在Matlab(GUI)中有一个带有“OK”按钮的对话框。

  • 我正在尝试这样做: > 通过URL打开带按钮的引导对话框。控制器中Url的动作是。 通过打开对话框,这将加载一个页面(),其中包含一个表单来填充数据(表单有一个提交按钮)。 如果我通过点击按钮提交表单,在我的控制器中,我尝试关闭对话框并刷新原始页面中的一些内容,这是我用JS做的。但它不起作用。我总是用新的URL在空白处获得窗口导航器;我希望保留调用对话框的原始页面,以查看更改,方法与。 控制器的代

  • 对话框的内容不是在页面最初可见,而是在用户操作时显示额外的信息。 Toasts Materialize 提供了非常简单的方法,来弹出一些信息,同时也不会让用户感到突兀。这些 Toasts 显示的位置和大小会随着你的设备的不同而改变。 在 JavaScript 中调用 Materialize.toast() 方法来使用。 // Materialize.toast(message, displayLe