异业联盟合作协议书合同_重复
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);
}
}
```
银行和超市异业联盟活动_重复
异业联盟平台怎么提升品牌_重复
粥店异业联盟营销方案_重复
异业联盟适合门店开吗现在_重复
异业联盟客户需求_重复
异业联盟活动邀约_重复
异业联盟谈判需要带什么_重复
怎样和商家异业联盟合作_重复
异业联盟合作协议内容包括_重复
异业联盟营销方案怎么写好_重复