📄 j2kguiencoder.java
字号:
JPanel qTab2 = new JPanel(); qTab2.add(new JLabel("Step size :")); qstepTf = new JTextField("0.0078125",15); qTab2.add(qstepTf); qTab.add(qTab2); JPanel qTab3 = new JPanel(); qTab3.add(new JLabel("Quantization type:")); qtypeCombo = new JComboBox(); qtypeCombo.removeAllItems(); qtypeCombo.addItem("derived"); qtypeCombo.addItem("expounded"); qtypeCombo.setSelectedItem("expounded"); qTab3.add(qtypeCombo); qTab.add(qTab3); //****** Region Of Interest Tab *********** JPanel rTab = new JPanel(new BorderLayout()); JPanel rTab1 = new JPanel(); rTab1.add(new JLabel("ROI Start level :")); roiStartLvlComb = new JComboBox(); for(int i=-1; i<10; i++) { roiStartLvlComb.addItem(""+i); } roiStartLvlComb.setSelectedItem("-1"); rTab1.add(roiStartLvlComb); JPanel rTab2 = new JPanel(); ralignBox = new JCheckBox("Mask aligned on code-blocks",false); rTab2.add(ralignBox); JPanel rTab12 = new JPanel(new GridLayout(1,2)); rTab12.add(rTab1); rTab12.add(rTab2); rTab.add(rTab12,BorderLayout.NORTH); // ROI's shape and location JPanel rTab4 = new JPanel(); JPanel rTab4West = new JPanel(); rTab4West.add(new JLabel("Mask:")); rMaskComboBox = new JComboBox(); rMaskComboBox.addItem("Disabled"); rMaskComboBox.addItem("Rectangular"); rMaskComboBox.addItem("Circular"); rMaskComboBox.addItem("Arbitrary"); rMaskComboBox.setSelectedItem("Disabled"); rMaskComboBox.addActionListener(this); rTab4West.add(rMaskComboBox); rTab4.add(rTab4West,BorderLayout.WEST); JPanel rTab4Center = new JPanel(new GridLayout(3,1)); JPanel rTab4Center1 = new JPanel(new GridLayout(2,1)); JPanel rTab4Center1Up = new JPanel(); rTab4Center1Up.add(new JLabel("x:")); rectLeftTf = new JTextField("",5); rTab4Center1Up.add(rectLeftTf); rTab4Center1Up.add(new JLabel("y:")); rectTopTf = new JTextField("",5); rTab4Center1Up.add(rectTopTf); rTab4Center1Up.add(new JLabel("width:")); rectWidthTf = new JTextField("",5); rTab4Center1Up.add(rectWidthTf); rTab4Center1Up.add(new JLabel("height:")); rectHeightTf = new JTextField("",5); rTab4Center1Up.add(rectHeightTf); rectLeftTf.setEditable(false); rectTopTf.setEditable(false); rectWidthTf.setEditable(false); rectHeightTf.setEditable(false); JPanel rTab4Center1Down = new JPanel(); mouseRectROI = new JRadioButton("Mouse defined",false); mouseRectROI.setEnabled(false); mouseRectROI.addItemListener(this); rTab4Center1Down.add(mouseRectROI); rTab4Center1.add(rTab4Center1Up); rTab4Center1.add(rTab4Center1Down); rTab4Center1.setBorder(BorderFactory. createTitledBorder("Rectangular")); rTab4Center.add(rTab4Center1); JPanel rTab4Center2 = new JPanel(new GridLayout(2,1)); JPanel rTab4Center2Up = new JPanel(); rTab4Center2Up.add(new JLabel("x:")); circColTf = new JTextField("",5); rTab4Center2Up.add(circColTf); rTab4Center2Up.add(new JLabel("y:")); circRowTf = new JTextField("",5); rTab4Center2Up.add(circRowTf); rTab4Center2Up.add(new JLabel("radius:")); circRadTf = new JTextField("",5); rTab4Center2Up.add(circRadTf); circColTf.setEditable(false); circRowTf.setEditable(false); circRadTf.setEditable(false); rTab4Center2.setBorder(BorderFactory.createTitledBorder("Circular")); rTab4Center2.add(rTab4Center2Up); JPanel rTab4Center2Down = new JPanel(); mouseCircROI = new JRadioButton("Mouse defined",false); mouseCircROI.setEnabled(false); mouseCircROI.addItemListener(this); rTab4Center2Down.add(mouseCircROI); rTab4Center2.add(rTab4Center2Down); rTab4Center.add(rTab4Center2); JPanel rTab4Center3 = new JPanel(); rTab4Center3.add(new JLabel("Choose .pgm file:")); maskBrowseButton = new JButton("Browse"); maskBrowseButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFileChooser fc3 = new JFileChooser(); fc3. addChoosableFileFilter(new JJFileFilter("PGM images", "pgm")); int returnVal3 = fc3.showOpenDialog(mainFrame); if(returnVal3==JFileChooser.APPROVE_OPTION) { File choosedMaskFile = fc3.getSelectedFile(); roiMaskAbsName = choosedMaskFile.getAbsolutePath(); roiMaskNameLabel.setText(choosedMaskFile.getName()); } } }); maskBrowseButton.addActionListener(this); maskBrowseButton.setEnabled(false); rTab4Center3.add(maskBrowseButton); roiMaskNameLabel = new JLabel(""); rTab4Center3.add(roiMaskNameLabel); rTab4Center3.setBorder(BorderFactory.createTitledBorder("Arbitrary")); rTab4Center.add(rTab4Center3); rTab4.add(rTab4Center,BorderLayout.CENTER); rTab4.setBorder(BorderFactory.createTitledBorder("ROI's shape"+ " & location :")); rTab.add(rTab4,BorderLayout.CENTER); //**************** Entropy encoder Tab ************** JPanel cTab = new JPanel(new GridLayout(9,1)); JPanel cblkSizPanel = new JPanel(); cblkSizPanel.add(new JLabel("Code-block size:")); cblkSizPanel.add(new JLabel("w:")); cblkSizWidthCb = new JComboBox(); cblkSizHeightCb = new JComboBox(); int[] cblkSizeVal = { 4, 8, 16, 32, 64, 128, 256, 512, 1024}; for(int i=0; i<cblkSizeVal.length; i++) { cblkSizHeightCb.addItem(""+cblkSizeVal[i]); cblkSizWidthCb.addItem(""+cblkSizeVal[i]); } cblkSizHeightCb.setSelectedItem("64"); cblkSizWidthCb.setSelectedItem("64"); cblkSizPanel.add(cblkSizWidthCb); cblkSizPanel.add(new JLabel("h:")); cblkSizPanel.add(cblkSizHeightCb); cTab.add(cblkSizPanel); JPanel cppPanel = new JPanel(); cppCheckBox = new JCheckBox("Precinct partition:",false); cppCheckBox.addItemListener(this); cppPanel.add(cppCheckBox); cppPanel.add(new JLabel("Dimensions:")); cppDimTf = new JTextField("",8); cppDimTf.setEditable(false); cppPanel.add(cppDimTf); cTab.add(cppPanel); JPanel cLenCalcPanel = new JPanel(); cLenCalcPanel.add(new JLabel("MQ length calculation:")); String[] lenCalcOpt = {"near_opt", "lazy_good", "lazy"}; cLenCalcCombo = new JComboBox(lenCalcOpt); cLenCalcCombo.setSelectedItem("near_opt"); cLenCalcPanel.add(cLenCalcCombo); cTab.add(cLenCalcPanel); JPanel ctermPanel = new JPanel(); ctermPanel.add(new JLabel("MQ termination type:")); String[] ctermOpt = {"near_opt", "easy", "predict", "full"}; ctermCombo = new JComboBox(ctermOpt); ctermCombo.setSelectedItem("near_opt"); ctermPanel.add(ctermCombo); cTab.add(ctermPanel); cSegSymbBox = new JCheckBox("Segmentation symbols",false); cTab.add(cSegSymbBox); cCausalBox = new JCheckBox("Causal context",false); cTab.add(cCausalBox); cRegTermBox = new JCheckBox("Terminate each coding-pass"); cTab.add(cRegTermBox); cResetMQBox = new JCheckBox("Reset MQ"); cTab.add(cResetMQBox); cBypassBox = new JCheckBox("MQ bypass"); cTab.add(cBypassBox); //********************** Rate allocator Tab ************************* JPanel aTab = new JPanel(new GridLayout(2,1)); JPanel aTabNorth = new JPanel(); aTabNorth.add(new JLabel("Layers:")); aLayersTf = new JTextField("0.015 +20 2.0 +10",20); aTabNorth.add(aLayersTf); aTab.add(aTabNorth); JPanel aTabCenter = new JPanel(); aTabCenter.add(new JLabel("Progression type :")); String[] apTypeOpt = {"Resolution", "Layer", "RPCL", "PCRL", "CPRL"}; apTypeCombo = new JComboBox(apTypeOpt); apTypeCombo.setSelectedItem("Layer"); aTabCenter.add(apTypeCombo); aTab.add(aTabCenter); //********************** Packet Tab ************************* JPanel pTab = new JPanel(new GridLayout(5,1)); pphTileBox = new JCheckBox("Packed packet header in tile header", false); pTab.add(pphTileBox); pphMainBox = new JCheckBox("Packed packet header in main header:", false); pTab.add(pphMainBox); pEphBox = new JCheckBox("End Of Packet markers (EPH)",false); pTab.add(pEphBox); pSopBox = new JCheckBox("Start Of Packet makers (SOP)",false); pTab.add(pSopBox); // Fifth option JPanel pOpt5 = new JPanel(); pOpt5.add(new JLabel("Packets per tile-part:")); tilePartsField = new JTextField("0",5); pOpt5.add(tilePartsField); pTab.add(pOpt5); // ******************** Security Tab ******************** JPanel secTab = new JPanel(new GridLayout(4,1)); // Shape type JPanel secTab1 = new JPanel(new GridLayout(1,3)); secTab1.setBorder(BorderFactory.createTitledBorder("Shape Type")); ButtonGroup secShapeGroup = new ButtonGroup(); secNoShape = new JRadioButton("No Protection",true); secNoShape.addActionListener(this); secShapeGroup.add(secNoShape); secTab1.add(secNoShape); secWholeImage = new JRadioButton("Whole image"); secWholeImage.addActionListener(this); secShapeGroup.add(secWholeImage); secTab1.add(secWholeImage); secUserDef = new JRadioButton("Mouse defined shape"); secUserDef.addActionListener(this); secUserDef.addItemListener(this); secShapeGroup.add(secUserDef); secTab1.add(secUserDef); secUlxTF = new JTextField("0",5); secUlyTF = new JTextField("0",5); secWTF = new JTextField("0",5); secHTF = new JTextField("0",5); // Method type JPanel secTab2 = new JPanel(new GridLayout(1,2)); secTab2.setBorder(BorderFactory.createTitledBorder("Method Type")); ButtonGroup secMethGrp = new ButtonGroup(); secWavMeth = new JRadioButton("Wavelet domain",true); secWavMeth.addActionListener(this); secMethGrp.add(secWavMeth); secTab2.add(secWavMeth); secBitMeth = new JRadioButton("Bit stream domain"); secBitMeth.addActionListener(this); secMethGrp.add(secBitMeth); secTab2.add(secBitMeth); // Method parameters JPanel secTab3 = new JPanel(new GridLayout(1,3)); secTab3.setBorder(BorderFactory.createTitledBorder("Parameters")); JPanel secLayerPan = new JPanel(); secLayerPan.add(new JLabel("Bit-rate start:")); float initRate = (new Float(encRateField.getText())).floatValue()/10f; secBrStartTF = new JTextField(""+initRate,5); secBrStartTF.setEditable(false); secLayerPan.add(secBrStartTF); secTab3.add(secLayerPan); JPanel secResPan = new JPanel(); secResPan.add(new JLabel("Resolution level start:")); secResStartTF = new JTextField("-1",3); secResPan.add(secResStartTF); secTab3.add(secResPan); JPanel secSeedPan = new JPanel(); secSeedPan.add(new JLabel("Seed:")); secSeedTF = new JTextField("16449",5); secSeedPan.add(secSeedTF); secTab3.add(secSeedPan); // RSA encryption JPanel secRSAPan = new JPanel(); secRSAPan.setBorder(BorderFactory.createTitledBorder("RSA private "+ "key")); useRSAEncryption = new JRadioButton("Use encryption"); secRSAPan.add(useRSAEncryption); selectedKeyTF = new JTextField("",10); rsaPrivKey = rsaSupport.getRawRSAPrivKey(); selectedKeyTF.setText(rsaSupport.getPrivKeyName()); selectedKeyTF.setEnabled(false); secRSAPan.add(selectedKeyTF); JButton selectPrivKey = new JButton("Select Key"); selectPrivKey.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { rsaSupport.createMngKeyUI(mainFrame,RSASupport. DISPLAY_PRIVATE); rsaPrivKey = rsaSupport.getRawRSAPrivKey(); selectedKeyTF.setText(rsaSupport.getPrivKeyName()); } }); secRSAPan.add(selectPrivKey); secTab.add(secTab1); secTab.add(secTab2); secTab.add(secTab3); secTab.add(secRSAPan); //******** End of encoding parameters Tab ******************** // Tabbed pane JTabbedPane tabPane = new JTabbedPane(); tabPane.addTab("General",genTab); tabPane.addTab("Canvas",encTab); tabPane.addTab("MCT",mTab); tabPane.addTab("DWT",wTab); tabPane.addTab("Quantization",qTab); tabPane.addTab("ROI",rTab); tabPane.addTab("Entropy Coder",cTab); tabPane.addTab("Rate Allocator",aTab); tabPane.addTab("Packets",pTab); tabPane.addTab("Security",secTab); //***** Panel for dialog box Container encDialogPane = advEncOptDialog.getContentPane(); encDialogPane.add(tabPane,BorderLayout.CENTER); JPanel buttons_panel = new JPanel(); encOkBut = new JButton("OK"); encOkBut.addActionListener(si); buttons_panel.add(encOkBut);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -