当前所在位置:首页 > 异业联盟

异业联盟合作协议书合同_重复

691

2024-03-26 【 字体:

异业联盟合作协议书合同

异业联盟合作协议书合同_重复

日期:XXX年XX月XX日

甲方:XXX公司

地址:XXX

乙方:XXX公司

地址:XXX

鉴于甲方与乙方均具备相应的资源和优势,为了实现业务与发展的互补和共赢,甲乙双方达成以下合作协议:

一、合作内容

1. 甲方将提供XXX产品,乙方将提供XXX服务,双方通过互相的资源整合与共享,共同开展业务,实现互利共赢。

二、合作方式

1. 双方将建立稳定的合作关系,共同拓展市场份额。

2. 双方在进行宣传推广时,可以共同组织营销活动,互相推广与宣传彼此的产品与服务。

三、合作期限

1. 本合作协议自双方签订之日起生效,有效期为X年。

2. 若一方需要终止合作,应提前X个月以书面形式通知对方。

四、商业机密保护

1. 双方在合作过程中可能会涉及商业秘密的交流与共享,对于获知的商业机密,双方均应予以保密,不得泄露或破坏。

五、争议解决与违约责任

1. 合作中发生争议时,应通过友好协商解决;协商无果时,可采用仲裁方式解决。

2. 一方违约时,应向另一方支付违约金并承担相应的法律责任。

六、其他条款

1. 本合作协议应遵守国家相关法律法规,并受中华人民共和国法律管辖。

2. 本合作协议一式两份,甲乙双方各执一份,具有同等法律效力。

特此协议,甲方(盖章):

法定代表人(签字):

乙方(盖章):

法定代表人(签字):

日期:XXX年XX月XX日

以上内容为异业联盟合作协议书合同,双方均已充分阅读理解,并自愿遵守执行。

CreateTableFrame();

mySecondaryDisplay.OpenDisplay();

}

});

}

/**

* Selects an object on the table to open - will prompt the appropriate frame, either a DetailedViewFrame if the table is a \"WorkOrderTable\"

* or a AdjustPriceFrame if the table is not.

* < BBMethod-method

*/

public TableCellEditor getCellEditor( final int row, final int column )

{

if( column == 0 && mainMethod.is( MethodCalls.MethodCall.WORK_ORDER_TCU ) ) //if a work order TCU table

{

// return super.getCellEditor( row, column );

TableCellEditor editor = new TableCellEditor()

{

private static final long serialVersionUID = 1L;

public Component getTableCellEditorComponent(final JTable table, Object value, boolean isSelected, final int rowIndex, final int vColIndex)

{

return myMechanicsFrame.tableWorkOrderMouseListener();

}

public void addCellEditorListener(CellEditorListener arg0) {}

public void cancelCellEditing() {}

public Object getCellEditorValue() { return null; }

public boolean isCellEditable( EventObject arg0 ) { return true; }

public void removeCellEditorListener(CellEditorListener arg0) {}

public boolean shouldSelectCell( EventObject arg0 ) { return true; }

public boolean stopCellEditing() { return false; }

};

return editor;

}

else if( column == 0 && !mainMethod.is( MethodCalls.MethodCall.WORK_ORDER_TCU ) && !mainMethod.is( MethodCalls.MethodCall.SKU_BASIC_INFO ))

{

TableCellEditor editor = new TableCellEditor()

{

private static final long serialVersionUID = 1L;

public Component getTableCellEditorComponent(final JTable table, Object value, boolean isSelected, final int rowIndex, final int vColIndex)

{

return new AssignmentsMainPanel();

}

public void addCellEditorListener(CellEditorListener arg0) {}

public void cancelCellEditing() {}

public Object getCellEditorValue() { return null; }

public boolean isCellEditable( EventObject arg0 ) { return true; }

public void removeCellEditorListener(CellEditorListener arg0) {}

public boolean shouldSelectCell( EventObject arg0 ) { return true; }

public boolean stopCellEditing() { return false; }

};

return editor;

}

else

{

return super.getCellEditor( row, column );

}

}

};

```

And here is the TableModel where there is a TableCellRenderer for different rows.

```

class ManufacturerMaintStyleTableModel extends AbstractTableModel

{

private static final long serialVersionUID = 1L;

protected ArrayList list;

protected ArrayList columns;

protected MainMethodCalls mainMethod;

public ManufacturerMaintStyleTableModel(String[] columnNames, MainMethodCalls mm)

{

columns = new ArrayList();

list = new ArrayList();

for(int i = 0; i < columnNames.length; i++)

this.columns.add(columnNames[i]);

this.fireTableDataChanged();

mainMethod = mm;

}

public ManufacturerMaintStyleTableModel(MainMethodCalls mainMethod) { this.mainMethod = mainMethod; }

public String getColumnName(int index)

{

return (String)columns.get(index);

}

public int getRowCount()

{

return list.size();

}

public int getColumnCount()

{

return columns.size();

}

public boolean getBooleanValue(int row, int column)

{

return (Boolean)getValueAt(row, column);

}

public String getStringValue(int row, int column)

{

return (String)getValueAt(row, column);

}

public ImageIcon getIconValue(int row, int column)

{

return (ImageIcon)getValueAt(row, column);

}

public java.util.Date getJavaUtilDateValue(int row, int column)

{

return (java.util.Date)getValueAt(row, column);

}

public Object getValueAt(int row, int column)

{

return list.get(row).get(column);

}

public void setColumns(ArrayList cols)

{

this.columns = cols;

}

public void setList(ArrayList l)

{

this.list = l;

this.fireTableDataChanged();

}

public void setValueAt(Object val, int row, int column)

{

System.out.println(\"Set Value At: \" + val);

this.fireTableDataChanged();

this.list.get(row).set(column, val);

mainMethod.setScreenMode( MainMethodCalls.ScreenMode.UPDATE );

}

public Object[][] getModelData()

{

Object[][] retArray = new Object[list.size()][columns.size()];

for( int i = 0; i < list.size(); i++ )

{

for( int j = 0; j < columns.size(); j++ )

{

retArray[i][j] = list.get( i ).get( j );

}

}

return retArray;

}

public Class getColumnClass( int columnIndex )

{

if( columnIndex == 0 && mainMethod.is( MethodCalls.MethodCall.SKU_BASIC_INFO ) )

return Boolean.class;

if( columnIndex == 5 && !mainMethod.is( MethodCalls.MethodCall.SKU_BASIC_INFO ) )

return Boolean.class;

if( columnIndex == 6 )

return ImageIcon.class;

return super.getColumnClass( columnIndex );

}

public boolean isCellEditable(int rowIndex, int columnIndex){ return true; }

TableCellRenderer cellCenterRenderer = new DefaultTableCellRenderer() {

private static final long serialVersionUID = 1L;

public Component getTableCellRendererComponent(JTable table, Object value,

boolean isSelected, boolean hasFocus, int row, int column)

{

super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

int[] centerAlignCols = {4};

for( int i = 0; i < centerAlignCols.length; i++ )

setHorizontalAlignment(CENTER);

return this;

}

};

TableCellRenderer noEntryCellRenderer = new DefaultTableCellRenderer()

{

private static final long serialVersionUID = 1L;

public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)

{

super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

//this.setFont(new java.awt.Font(\"Arial\", Font.BOLD, 14));

if( column == 7 )

this.setHorizontalAlignment(CENTER);

return this;

}

};

TableCellRenderer hyperlinkRendered = new DefaultTableCellRenderer()

{

private static final long serialVersionUID = 1L;

public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)

{

super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

if( column == 6 )

{

this.setHorizontalAlignment(CENTER);

this.setEnabled(true);

this.setText(\"Note:\");

}

return this;

}

};

TableRowSorter sorter;

public void createSorter(JTable table, final int col, final Class comparator)

{

sorter = new TableRowSorter(table.getModel());

sorter.setComparator(col, new Comparator() {

@Override

public int compare(Object s1, Object s2)

{

if( comparator == Double.class )

{

return (String.valueOf( s1 )).compareTo( String.valueOf( s2 ) );

}

else

{

Collator collator = Collator.getInstance();

collator.setStrength(Collator.PRIMARY);

return collator.compare((String) s1, (String) s2);

}

}

});

table.setRowSorter(sorter);

}

public void orDefaultSorter(JTable table)

{

TableRowSorter sorter = new TableRowSorter(table.getModel());

table.setRowSorter(sorter);

}

}

```

HotLifersFighter 2022-02-21: As has already been given by @Sweeper in his comment, you can override some TableCellRenderer to draw component in 1st column of the JTable like JButton. It allows you to open any other Frame or do any other actions.

Problem is that you can't use Jpanel / JFrame constructor call directly like in JFrame frame = new JFrame();

You can, for example, override DefaultTableCellRenderer like this

```

TableCellRenderer hyperlinkRenderer = new DefaultTableCellRenderer()

{

private static final long serialVersionUID = 1L;

public Component getTableCellRendererComponent(JTable table,

Object value, boolean isSelected, boolean hasFocus, int row, int column)

{

if (column == 0)

{

JButton button = new JButton(\"Open new frame\");

button.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

// Actions

}

});

return button;

}

else

{

// Return default render

return super.getTableCellRendererComponent(table, value,

isSelected, hasFocus, row, column);

}

}

};

```

Afterwards, You have to associate what you did with table's column:

```

table.getColumnModel().getColumn(0).setCellRenderer( hyperlinkRenderer )

```

And in the end what you have to do is add panel with your table to JFrame setVisible() call for example.

I put print commands in constructor to help You understand how it works

```

import javax.swing.*;

import javax.swing.table.DefaultTableCellRenderer;

import javax.swing.table.DefaultTableModel;

import javax.swing.table.TableCellRenderer;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

class MainMethodCalls

{

public enum MethodCall

{

WORK_ORDER_TCU,

SKU_BASIC_INFO

}

public static void main(String[] args)

{

JFrame frame = new JFrame();

JPanel panel = new JPanel();

String[] columnNames = {\"Col 1\", \"Col 2\"};

Object[][] data = {

{1, 2},

{3, 4}

};

DefaultTableModel tableModel = new DefaultTableModel(data, columnNames);

JTable table = new JTable( tableModel );

TableCellRenderer hyperlinkRenderer = new DefaultTableCellRenderer()

{

private static final long serialVersionUID = 1L;

public Component getTableCellRendererComponent(JTable table,

Object value, boolean isSelected, boolean hasFocus, int row, int column)

{

if (column == 0)

{

JButton button = new JButton(\"Open new frame\");

button.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

// Actions

}

});

return button;

}

else

{

// Return default render

return super.getTableCellRendererComponent(table, value,

isSelected, hasFocus, row, column);

}

}

};

table.getColumnModel().getColumn(0).setCellRenderer( hyperlinkRenderer );

JScrollPane scrollPane = new JScrollPane(table);

panel.add(scrollPane);

frame.add(panel);

frame.pack();

frame.setSize(700, 300);

frame.setLocationRelativeTo(null);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

}

```

阅读全文

相关推荐

银行和超市异业联盟活动_重复

银行和超市异业联盟活动_重复
银行和超市携手共建异业联盟 银行和超市是我们生活中不可或缺的重要组成部...

异业联盟平台怎么提升品牌_重复

异业联盟平台怎么提升品牌_重复
现代企业发展离不开品牌建设,而在多元化的市场环境下,企业如何通过异业联盟平台提升...

粥店异业联盟营销方案_重复

粥店异业联盟营销方案_重复
在市场竞争日益激烈的背景下,粥店想要在同行业中脱颖而出,推出异业联盟营销方案是一...

异业联盟适合门店开吗现在_重复

异业联盟适合门店开吗现在_重复
异业联盟是指不同行业的企业或门店之间通过合作结盟,以实现资源共享、互利共赢的一种...

异业联盟客户需求_重复

异业联盟客户需求_重复
异业联盟是不同行业之间的合作伙伴关系,通过共同合作来实现互利共赢。在这种合作中,...

异业联盟活动邀约_重复

异业联盟活动邀约_重复
异业联盟活动邀约 尊敬的客户: 感谢您一直以来对我们公司的支持与厚爱。为了更...

异业联盟谈判需要带什么_重复

异业联盟谈判需要带什么_重复
在进行异业联盟谈判时,我们需要带上几个重要的因素。我们需要带上对双方的实际情况与...

怎样和商家异业联盟合作_重复

怎样和商家异业联盟合作_重复
如何与商家进行异业联盟合作 异业联盟是指不同行业的商家之间通过合作,共同开展市...

异业联盟合作协议内容包括_重复

异业联盟合作协议内容包括_重复
异业联盟合作协议是不同行业企业之间为了共同发展与合作而签订的一份协议。通过异业联...

异业联盟营销方案怎么写好_重复

异业联盟营销方案怎么写好_重复
异业联盟营销方案的编写是企业推动合作营销的关键一步。下面就来介绍一些编写异业联盟...