wizardframe.java
来自「开源的axis2框架的源码。用于开发WEBSERVER」· Java 代码 · 共 473 行 · 第 1/2 页
JAVA
473 行
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.axis2.tools.wizardframe;
import org.apache.axis2.tools.component.*;
import org.apache.axis2.tools.bean.WsdlgenBean;
import org.apache.axis2.tools.bean.CodegenBean;
import org.apache.axis2.tools.bean.SrcCompiler;
import org.apache.axis2.tools.idea.ProgressBarPanel;
import org.apache.axis2.tools.idea.FirstPanel;
import org.apache.axis2.tools.idea.SecondPanel;
import org.apache.axis2.tools.idea.WSDL2JavaOutputPanel;
import org.apache.ideaplugin.bean.ArchiveBean;
import org.apache.ideaplugin.bean.JarFileWriter;
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.TimerTask;
import java.io.*;
import com.intellij.openapi.project.Project;
/**
* wizardFrame class
*/
public class WizardFrame extends JFrame {
/**
* variable
*/
private JLabel panelImageLabel;
private JLabel panelTopTitleLabel;
private JLabel panelBottomTitleLabel;
private WizardComponents wizardComponents;
protected WsdlgenBean wsdlgenBean;
protected CodegenBean codegenBean;
protected ArchiveBean archiveBean;
protected Project project;
private ProgressBarPanel progress;
public WizardFrame() {
init();
}
private void init() {
wizardComponents = new DefaultWizardComponents();
wsdlgenBean= new WsdlgenBean();
codegenBean = new CodegenBean();
archiveBean =new ArchiveBean();
this.getContentPane().setLayout(new GridBagLayout());
this.getContentPane().add(createTitlePanel()
, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0
, GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL
, new Insets(0, 0, 0, 0), 0, 0));
this.getContentPane().add(new JSeparator()
, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0
, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
new Insets(0, 0, 0, 0), 0, 0));
this.getContentPane().add(wizardComponents.getWizardPanelsContainer()
, new GridBagConstraints(0, 2, 1, 1, 1.0, 1.0
, GridBagConstraints.NORTHWEST , GridBagConstraints.BOTH
, new Insets(10, 0, 0, 0), 0, 0));
progress =new ProgressBarPanel();
this.getContentPane().add(progress
, new GridBagConstraints(0, 3, 1, 1, 1.0, 0.0
, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL
, new Insets(0, 0, 0, 0), 0, 0));
this.getContentPane().add(new JSeparator()
, new GridBagConstraints(0, 4, 1, 1, 1.0, 0.0
, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL
, new Insets(1, 1, 1, 1), 0, 0));
this.getContentPane().add(createButtonPanel(),
new GridBagConstraints(0, 5, 1, 1, 1.0, 0.0
,GridBagConstraints.EAST, GridBagConstraints.NONE,
new Insets(10, 10, 10, 10), 0, 0));
java.net.URL resource = WizardPanel.class.getResource("/icons/icon.png");
this.setIconImage(new ImageIcon(resource).getImage());
this.setFont(new Font("Helvetica", Font.PLAIN, 8));
wizardComponents.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent event) {
setPanelTopTitle(((WizardPanel)event.getNewValue()).getPanelTopTitle());
setPanelTitleImage(((WizardPanel)event.getNewValue()).getPanelImage());
setPanelBottomTitle(((WizardPanel)event.getNewValue()).getPanelBottomTitle());
setTitle(((WizardPanel)event.getNewValue()).getFrameTitle());
}
});
wizardComponents.setFinishAction(createFinishAction());
wizardComponents.setCancelAction(createCancelAction());
handleWindowClosing();
}
public WizardComponents getWizardComponents(){
return wizardComponents;
}
public void setWizardComponents(WizardComponents aWizardComponents){
wizardComponents = aWizardComponents;
}
public void show() {
wizardComponents.updateComponents();
this.setSize(600,600);
Utilities.centerComponentOnScreen(this);
super.show();
}
protected void setBottomVisible(boolean flag){
panelBottomTitleLabel.setVisible(flag);
}
//Set Title Panel
protected void setPanelTopTitle(String title) {
panelTopTitleLabel.setText(title);
}
protected void setPanelBottomTitle(String title) {
panelBottomTitleLabel.setText(title);
}
// set title image
protected void setPanelTitleImage(ImageIcon image){
panelImageLabel.setIcon(image );
}
protected JPanel createTitlePanel() {
JPanel panel = new JPanel(new GridBagLayout() );
panel.setBackground(Color.white );
panelTopTitleLabel = new JLabel();
panelTopTitleLabel.setFont(new Font("Helvetica", Font.BOLD, 12));
panelBottomTitleLabel=new JLabel();
panelBottomTitleLabel.setFont(new Font("Helvetica", Font.ITALIC, 10));
panelImageLabel= new JLabel();
panel.add(panelTopTitleLabel
, new GridBagConstraints(0, 0, 1, 1, 0.5, 0.0
, GridBagConstraints.LINE_START , GridBagConstraints.BOTH
, new Insets(10, 20, 0, 0), 0, 0));
panel.add(panelBottomTitleLabel
, new GridBagConstraints(0, 1, 1, 1, 0.5, 0.0
, GridBagConstraints.LINE_START, GridBagConstraints.BOTH
, new Insets(10,20, 0, 0), 0, 0));
panel.add(panelImageLabel
, new GridBagConstraints(1, 0, 1,2, 0.0, 0.0
, GridBagConstraints.CENTER, GridBagConstraints.BOTH
, new Insets(0, 0, 0, 0), 0, 0));
return panel;
}
protected JPanel createButtonPanel() {
JPanel panel = new JPanel(new GridLayout());
panel.add(wizardComponents.getBackButton());
panel.add(wizardComponents.getNextButton());
panel.add(wizardComponents.getFinishButton());
panel.add(wizardComponents.getCancelButton());
return panel;
}
protected FinishAction createFinishAction() {
return new FinishAction(wizardComponents) {
public void performAction() {
System.out.println("FinishAction performed");
try {
wizardComponents.getCurrentPanel().update();
switch (wizardComponents.getCurrentPanel().getPageType()) {
case WizardPanel .WSDL_2_JAVA_TYPE:
doFinishWSDL2Java();
System.out.println("FinishAction WSDL2Java performed");
break;
case WizardPanel.JAVA_2_WSDL_TYPE:
doFinishJava2WSDL();
System.out.println("FinishAction Java2WSDL performed");
break;
case WizardPanel.SERVICE_ARCHIVE_TYPE:
doFinishServiceArchive();
System.out.println("FinishAction Servcie Archive performed");
break;
case WizardPanel.UNSPECIFIED_TYPE:
break; //Do nothing
default:
throw new RuntimeException("Invalid state!");
}
} catch (Exception e) {
wizardComponents.setCurrentIndex(CodegenFrame.PANEL_CHOOSER);
dispose();
}
}
};
}
protected CancelAction createCancelAction() {
return new CancelAction(wizardComponents) {
public void performAction() {
wizardComponents.setCurrentIndex(CodegenFrame.PANEL_CHOOSER);
System.out.println("CancelAction performed");
dispose();
}
};
}
protected void handleWindowClosing() {
wizardComponents.setCurrentIndex(CodegenFrame.PANEL_CHOOSER);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?