`
yutianapple
  • 浏览: 32530 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

A我自己写的connection连线算法Connection————2

阅读更多
public static void main(String args[]) {

chipName = "SD5880 0";
outputName = "1";
inputName = "0";
point = new PointXY(x, y);
map = new HashMap();
Shell shell = new Shell();
shell.setBackground(ColorConstants.darkGray);
shell.setSize(900, 600);
shell.open();
shell.setText("Connection Demo");
conn1 = new PolylineConnection();
fontRegistry = new FontRegistry();
FontData fontData = new FontData("隶书", 15, SWT.BOLD);
fontRegistry.put(FONT_ONE, new FontData[] { fontData });

fontData = new FontData("隶书", 10, SWT.BOLD);
fontRegistry.put(THREE, new FontData[] { fontData });

fontData = new FontData("楷体", 15, SWT.NORMAL);
fontRegistry.put(FONT_TWO, new FontData[] { fontData });

LightweightSystem lws = new LightweightSystem(shell);

lws.setContents(panel);

// 初始化的槽ID
initChipTrough();
// 遍历芯片槽打印芯片槽坐标
printChipTrough();
// 增加芯片button
Button b1 = new Button("增加芯片");
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
// 银角
inputRole = new Role(id++);
outputRole = new Role(id++);
// 银角名字
outputRoleName = new RoleName(outputName, node);
inputRoleName = new RoleName(inputName, node);

bd = new NodeBd(id++);

// 判断芯片槽是否已经存放芯片
if (((ChipTrough) map.get(z)).isSaveCome()) {
// 芯片槽的坐标值
x = ((ChipTrough) map.get(z)).getXy().getX();
y = ((ChipTrough) map.get(z)).getXy().getY();

// 芯片
node = new Chip(outputRole, inputRole, outputRoleName, inputRoleName, bd);
chipLabel = new ChipFont(chipName, node);
node.setBackgroundColor(ColorConstants.black);
node.setBounds(new Rectangle(x + 14, y + 12, 115, 115));
node.setBorder(new FocusBorder());

// 边框
bd.setBackgroundColor(ColorConstants.darkGreen);
bd.setBounds(new Rectangle(x, y, 135, 135));

// 输出银角
outputRole.setBounds(new Rectangle(x + 8,node.getBounds().y + 2, 20, 10));
// 输入眼角
inputRole.setBounds(new Rectangle(x + 8,node.getBounds().y + 20, 20, 10));

inputRole.setBackgroundColor(ColorConstants.yellow);
outputRole.setBackgroundColor(ColorConstants.cyan);

// 银角名字对象的设置
outputRoleName.setForegroundColor(ColorConstants.black);
                    outputRoleName.setBounds(new Rectangle(outputRole.getBounds().x+8, outputRole.getBounds().y, 8, 10));
                  
                   
                    inputRoleName.setForegroundColor(ColorConstants.black);
                    inputRoleName.setBounds(new Rectangle(inputRole.getBounds().x+8, inputRole.getBounds().y, 8, 10));

// 名字
chipLabel.setForegroundColor(ColorConstants.white);
chipLabel.setFont(fontRegistry.getItalic(FONT_ONE));
chipLabel
.setBounds(new Rectangle(x + 20, y + 15, 115, 115));

// 設置初始化的所有槽都是false可以存放芯片
((ChipTrough) map.get(z)).setSaveCome(false);
z++;
} else {
分享到:
评论

相关推荐

    connection连线样式走线方式

    标题中的“connection连线样式走线方式”主要涉及的是在图形用户界面(GUI)或软件开发中,特别是在绘制流程图、电路图或者数据流图时,如何处理元素之间的连接线,即连线的样式和布局方法。这通常涉及到图形库或者...

    android 连连看算法

    2. **路径条件**:这两个图案之间的连线不能超过两次转弯(即直线或拐一个弯)。 这些规则确保了游戏的可玩性和趣味性。为了实现这样的游戏逻辑,我们需要设计一套有效的算法来判断两个图案是否可以被连接起来。 #...

    字段级连线字段级连线字段级连线字段级连线

    在IT行业中,字段级连线(Field-Level Connection)是一种常见的数据可视化技术,特别是在图形库和图论应用中。这里提到的“字段级连线字段级连线字段级连线字段级连线”可能是由于重复,我们可以理解为对这一概念的...

    jsplumb连线的demo

    4. **事件绑定**:可能有事件监听器,如`jsPlumb.bind('connection', function() {...})`,处理连接的创建和变化。 5. **动态创建和删除连接**:通过调用jsPlumb的API方法,如`jsPlumb.connect()`和`jsPlumb.detach...

    最小覆盖圆.pdf 英文版

    ### 最小覆盖圆:算法与应用 #### 引言 最小覆盖圆问题,作为一个核心的计算几何问题,涉及寻找一个圆,使其能够包含平面上给定的所有点,并且该圆的半径尽可能小。这个问题在设施选址、信号覆盖优化、以及更广泛...

    jsplumb源码

    jsPlumb有丰富的事件系统,如`connection`、`connectionDetached`、`endpointAdded`等,可以监听这些事件进行自定义处理,如保存状态、更新UI等。通过`jsPlumb.bind()`方法注册事件处理器。 5. **布局与动画**: ...

    连连看游戏(Java)

    例如,可以创建一个`ChessBoard`类来表示棋盘,`ChessPiece`类来表示棋子,`Connection`类来表示棋子间的连线。 2. **图形用户界面(GUI)**:连连看游戏需要一个友好的交互界面,这可以通过Java的Swing或JavaFX库...

    流程图设计系统

    这涉及到复杂的算法,如层次遍历、拓扑排序等,以确保连线无交叉、节点分布均匀。 8. **调试与测试** 系统经过多次调试,确保了功能的完整性和运行的稳定性。VB的调试工具,如断点、步进执行、变量观察等,都对...

    局域网五子棋设计

    - 实现胜负判断算法,当一方形成五子连线时判定为胜,无五子连线且棋盘满时判定为和棋。 3. **网络通信**: - 制定通信规范,包括消息结构、数据编码和错误处理等。 - 使用VB中的`Winsock`控件进行TCP/IP通信。`...

    FPGA之Verilog编程.zip_FPGA verilog_attachedxrz_fpga_middledqm_veril

    在FPGA开发中,Verilog常用于实现算术逻辑单元(ALU)、存储器(如RAM、ROM)、通信协议(如SPI、UART)、数字信号处理算法、嵌入式处理器接口等。通过不断练习和项目实践,可以提升对Verilog和FPGA的理解,从而设计...

    Delphi7开发连连看小游戏

    这需要实现一个算法来检查相邻方块,以及判断连线是否符合规则。 3. **计时系统**:可以使用TTimer组件来实现,设置合适的间隔,每次触发事件时更新游戏时间显示。 4. **得分计算**:每次成功消除一对方块,得分增加...

    eCooeModel2010培训_流程设计.pdf

    如Ctrl+A用于全部选定、Ctrl+C和Ctrl+V分别用于复制和粘贴环节、Ctrl+X用于剪切环节、Ctrl+Z用于撤销当前修改、Del用于删除选定对象、Alt+光标键用于微距移动环节、F2用于显示或隐藏连线信息。 9. eCooeModel2010...

    jsplumb 说明

    ### 2. 基本用法 初始化JSPlumb实例: ```javascript var instance = jsPlumb.getInstance(); ``` 添加元素并建立连接: ```javascript instance.connect({ source: 'sourceElementId', // 连接源元素ID target: ...

    JsPlumb:所有 JsPlumb 示例

    JsPlumb 是一个基于 JavaScript 的库,专为创建可视化连接器(或“连线”)而设计。这个库利用 HTML5 的 canvas、SVG 或 VML 元素,能够在网页上动态绘制和管理连接线,从而在不同元素之间建立关系。JsPlumb 的应用...

Global site tag (gtag.js) - Google Analytics