我是java swing的新手,现在我使用NetBeant使用NetBeans中内置的拖放设计器构建GUI。我现在面临的问题是,我有下面发布的代码,它是在Eclipse中编写的,正如您所看到的,我有一个扩展JPanel的类,我将从WEB_CAM捕获的图像添加到该JPanel中。现在,自从我切换到NetBeans,我使用设计器创建了JFrame、JPanel和JButtons,在我用NetBeans编写的代码中,我不知道如何将捕获的图像添加到JPanel中。
在html" target="_blank">eclipse中,我在另一个类中创建了下面发布的代码,但在NetBeans中,所有东西都是自动生成的,我必须做与在eclipse中相同的工作。我不知道如何在NetBeans中向JPanel添加图像。
JPanel inEclipse
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);
}
});
类FacePanel extends JPanel{
更改为公共类FacePanel extends JPanel{
,否则Netbeans将无法创建它的实例。FacePanel
类从项目资源管理器拖到窗体上...我想添加一个图像到一个JPanel中,JPanel在JInternalFrame中,JInternalFrame有一个父,JDesktopPane。 我尝试使用另一个类从路径添加图像,然后,
我创建了一个JPanel,上面有我需要的所有JRadioButtons(称为PortSettings)。我还有一个按钮,叫做端口设置,当用户单击该按钮时,我需要JPanel上来显示单选按钮。我尝试将JPanel添加到actionlistener中,但没有效果。我的代码在下面。除了portsettings按钮之外,我已经从其他按钮中删除了所有其他ActionListener。如果这个问题让人困惑,我
我已经在网上看了,但我仍然无法理解如何将图形添加到JPanel 以下是我的panel类的代码: 我的主要方法是: 文本只会出现在屏幕的一小部分(这适用于我试图绘制的任何图形对象)。我做错了什么?
在运行时添加到当单击时。 我使用以下代码: 但是在中没有显示任何。
我想在FlowLayout和GridBagLayout之间进行权衡。简而言之,我有一些组件要添加到我的JPanel中(我不知道有多少,这是在运行时创建的),我希望这些组件垂直居中。FlowLayout非常适合我的目标,但它在JPanel的顶部添加了组件。所以,我决定使用GridBagConstraints,正如有人在这里建议的那样(Java layout manager垂直中心),但这个解决方案的
我不知道为什么会发生这种情况。Plz帮助.. 任何帮助都很感激。提前谢谢...