abxbutton.java

来自「Java version of ABC/HR comparator v0.5. 」· Java 代码 · 共 65 行

JAVA
65
字号
package abchr.gui.modulecontrols;

import abchr.*;
import abchr.gui.ABXDialog;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class ABXButton extends JButton implements ModuleControl {
	private ABXDialog dialog;
	private ABXModule abxModule;
	private TimeLineModule timeLineModule;
	private SavedRangesModule savedRangesModule;

	public ABXButton(ABXModule module) {
		super("ABX...");
		this.abxModule=module;
		this.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e){showDialog();}
		});
		this.setEnabled(module!=null);
	}

	public void showDialog() {
		if(dialog==null) {
			dialog=new ABXDialog((Frame)SwingUtilities.windowForComponent(this),abxModule);
		}
		dialog.setTimeLineModule(timeLineModule);
		dialog.setSavedRangesModule(savedRangesModule);
		dialog.show();
	}

	public ABXButton() {
		this(null);
	}

	public void setModule(ProjectModule module) {
		this.setEnabled(module!=null);
		if(module==null) {
			abxModule=null;
			timeLineModule=null;
			savedRangesModule=null;
			if(dialog!=null) {
				dialog.dispose();
				dialog.setModule(null);
				dialog.setTimeLineModule(null);
				dialog.setSavedRangesModule(null);
				dialog=null;
			}
		}
		if(module instanceof ABXModule) {
			abxModule=(ABXModule)module;
			if(dialog!=null){dialog.setModule((ABXModule)module);}
		} else if(module instanceof TimeLineModule) {
			timeLineModule=(TimeLineModule)module;
		} else if(module instanceof SavedRangesModule) {
			savedRangesModule=(SavedRangesModule)module;
		} else {
			//assert false;
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?