繁体   English   中英

我如何获得JtabbedPane内部的jPanel

[英]how can i get a jPanel that is inside a JtabbedPane

我正在用Java开发图像编辑器,我在JTabbedPane中插入了一个JPanel,以创建一个JTabbedPane,它的选项卡呈现了我想应用到图像的图像滤镜,我不知道如何获取内部的JPanel选择TabbedPane来决定筛选器,因为当我执行“ jTabbedPane1.getSelectedComponent();”时,我只能获得一个组件,而不是JComponent。

任何人都知道,对不起我的英语,谢谢。

这是我的代码的一部分:

package javaapplication22;

import javax.swing.JPanel;

/**
 *
 * @author iDoc
 */
public abstract class FilterTab extends JPanel {

    public FilterTab() {

    }

    protected void ApplyFilter() {

    }

    protected void ResetFilter() {

    }

}

public class InvertFilterTab extends FilterTab {

    private InvertFilter filter;

    public InvertFilterTab ()
    {
        filter = new InvertFilter();
    }

    /**
     *
     * @param originalImage
     * @param modifiedImage
     */
    public void ApplyFilter(BufferedImage originalImage, BufferedImage modifiedImage) {
        modifiedImage = filter.filter(originalImage, modifiedImage);
    }

    @Override
    public void ResetFilter() {

    }

}

private void button1ActionPerformed(java.awt.event.ActionEvent evt) {                                        

    BufferedImage originalImage = jOriginalPanel.getImage();
  //  BufferedImage modifiedImage = new BufferedImage(
    //        originalImage.getWidth(), originalImage.getHeight(), 
      //      BufferedImage.TYPE_INT_ARGB);
    //modifiedImage = 

    FilterTab ft = jTabbedPane1.getSelectedComponent();   <--- the problem is here

            filter.filter(originalImage, modifiedImage);

    jModifiedPanel.changeImage(modifiedImage);
    jModifiedPanel.repaint();

简单地转换结果...

FilterTab tab = (FilterTab)jTabbedPane1.getSelectedComponent();

记住, JPanelJComponent扩展而来, JComponentContainer扩展而来, ContainerComponent扩展而来

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM