gpt4 book ai didi

java - 将图像添加到 NetBeans 中的 JPanel

转载 作者:行者123 更新时间:2023-12-01 11:40:06 24 4
gpt4 key购买 nike

我是 java swing 的新手,现在使用 NetBeant 来使用 NetBeans 中内置的拖放设计器构建 GUI。我现在面临的问题是,我有下面发布的代码,它是用 Eclipse 编写的,正如你所看到的我有一个扩展 JPanel 的类,我将从 WEB_CAM 捕获的图像添加到该 JPanel。现在,自从我切换到 NetBeans,我使用设计器创建了 JFrame、JPanel、JButtons,并且在我在 NetBeans 中编写的代码中,我不知道如何将捕获的图像添加到 JPanel。

在 Eclipse 中,我在另一个类中创建了下面发布的代码,但在 NetBeans 中,所有内容都是自动生成的,我必须执行与 Eclipse 中相同的工作。我不知道如何将图像添加到 NetBeans 中的 JPanel。

Eclipse 中的 JPanel

class FacePanel extends JPanel {
private BufferedImage image;
int count = 0;

public FacePanel() {
super();
}

public void setFace (BufferedImage img) {
this.image = img;
}

public void paintComponent(Graphics g) {
super.paintComponent(g);

if (this.image == null) {
System.out.println("image is null");
return;
}

g.drawImage(this.image, 10, 10, this.image.getWidth(), this.image.getHeight(), null);
g.setFont(new Font("arial", 2, 20));
g.setColor(Color.WHITE);
g.drawString("processing frame by frame [ frame: " + ( count++) + " ]", 150, 150);
}

}

NetBeans 中的代码

    private void initComponents() {

jpanel1_Preview = new javax.swing.JPanel();
btn_Play = new javax.swing.JButton();
btn_Pause = new javax.swing.JButton();
btn_Capture = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jpanel1_Preview.setBorder(javax.swing.BorderFactory.createTitledBorder("Cam_Preview"));

javax.swing.GroupLayout jpanel1_PreviewLayout = new javax.swing.GroupLayout(jpanel1_Preview);
jpanel1_Preview.setLayout(jpanel1_PreviewLayout);
jpanel1_PreviewLayout.setHorizontalGroup(
jpanel1_PreviewLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 0, Short.MAX_VALUE)
);
jpanel1_PreviewLayout.setVerticalGroup(
jpanel1_PreviewLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 225, Short.MAX_VALUE)
);

btn_Play.setText("play");
btn_Play.setSelected(true);

btn_Pause.setText("pause");
btn_Pause.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn_PauseActionPerformed(evt);
}
});

btn_Capture.setText("capture");
btn_Capture.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn_CaptureActionPerformed(evt);
}
});

最佳答案

  1. class FacePanel extends JPanel { 更改为 public class FacePanel extends JPanel {,否则 Netbeans 将无法创建它的实例。
  2. 进行“清理和构建”
  3. FacePanel 类从项目资源管理器拖到您的表单上...

Drag

关于java - 将图像添加到 NetBeans 中的 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29599929/

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