gpt4 book ai didi

java - 图形界面java插入图像空间

转载 作者:行者123 更新时间:2023-12-01 22:31:25 24 4
gpt4 key购买 nike

早上好,我目前正在尝试制作这样的图形用户界面:

enter image description here

我希望有 3 个用于图像的空白空间,并且在每个空白空间下有一个用于选择和加载图像的按钮。我一直在阅读教程等,以及 PaintingComponent 等,但我不知道如何制作这些空白空间和按钮,并在单击加载时打开一个窗口以从计算机中选择图像。

我写了这个:

package projet;

import java.awt.BorderLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class FrameIM extends JFrame{

/**
*
*/
private static final long serialVersionUID = -7538888128782793269L;
private static final int width = 700;
private static final int height = 500;

public FrameIM(){
//window
this.setTitle("Mutual information");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setSize(width, height);

//boutons
JButton boutonLoad1 = new JButton("Load image A");
JButton boutonLoad2 = new JButton("Load image B");
JButton boutonProcess = new JButton("Processing Mutual information");

//layout des boutons
this.setLayout(new BorderLayout(0, 200));
//ajout des boutons
this.getContentPane().add(boutonLoad1, BorderLayout.WEST);
this.getContentPane().add(boutonLoad2, BorderLayout.CENTER);
this.getContentPane().add(boutonProcess, BorderLayout.EAST);
this.setVisible(true);

}`

如果有人可以帮助我,我将不胜感激。

谢谢

最佳答案

为了使用按钮执行操作,您需要实现 ActionListener界面,如:

//boutons
JButton boutonLoad1 = new JButton("Load image A");
boutonLoad1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("button 1 is pressed");
}
});
... do same with your other buttons

根据您的原型(prototype)图像,您需要尝试使用 layouts 。我会给你说明,正如我想象的那样,可以用Grid Layout来完成。 ,为了实现您所需要的:

使用 BoxLayout 创建主 JPanel 并将其设置为 Y_AXIS,最后将其添加到您的 ContentPane

JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
mainPanel.setBorder(new EmptyBorder(10, 10, 10, 10));

现在您将创建另外三个面板并将其添加到主面板中:

您的第一个(北)面板将包含您的标签,将是:

int rows = 0;
int cols = 3;
int hgap = 5;
int vgap = 0;
JPanel first = new JPanel(new GridLayout(rows,cols,hgap,vgap));

您的第二个(中心)面板将​​包含您的图像,将是:

int rows = 0;
int cols = 3;
int hgap = 10;
int vgap = 10;
JPanel second = new JPanel(new GridLayout(rows,cols,hgap,vgap));

第三个(南)面板将包含您的按钮,将是:

int rows = 0;
int cols = 3;
int hgap = 5;
int vgap = 0;
JPanel third = new JPanel(new GridLayout(rows,cols,hgap,vgap));

关于java - 图形界面java插入图像空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27677527/

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