⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demotable.java

📁 JGraph扩展应用。自定义Renderer,自定义视图View实现自定义工作流控件
💻 JAVA
字号:
package flow.graph.test.table;

import javax.swing.DefaultCellEditor;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;

import flow.graph.gui.graph.cell.ui.AssignForm;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

/**
 * TableDemo is just like SimpleTableDemo, except that it uses a custom
 * TableModel.
 */
public class DemoTable extends JPanel {
  private boolean DEBUG = true;
  JTable table;
  static JComboBox box1 = new JComboBox();
  static{
	for(int i=0;i<3;i++)
		box1.insertItemAt("box1 "+i, i);
  }

  static JComboBox box2 = new JComboBox();
  static{
	  for(int i=0;i<3;i++)
		  box2.insertItemAt("box2 "+i, i);
  }
  
  static JComboBox box3 = new JComboBox();
  static{
	  for(int i=0;i<3;i++)
		  box3.insertItemAt("box3 "+i, i);
  }
  static JComboBox box4 = new JComboBox();
  static{
	  for(int i=0;i<3;i++)
		  box4.insertItemAt("box4 "+i, i);
  }
  
  public DemoTable() {
    super(new GridLayout(1, 0));

    table = new JTable(new DemoTableModel());
	
	((DemoTableModel)table.getModel()).addRow("", "");
	((DemoTableModel)table.getModel()).addRow("", "");
	((DemoTableModel)table.getModel()).addRow("", "");
	((DemoTableModel)table.getModel()).addRow("", "");
	table.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(box1));   
	
    table.setPreferredScrollableViewportSize(new Dimension(500, 70));

    //Create the scroll pane and add the table to it.
    JScrollPane scrollPane = new JScrollPane(table);

    //Add the scroll pane to this panel.
    add(scrollPane);
  }
  
  public JTable getTable(){
	  return table;
  }

  /**
   * Create the GUI and show it. For thread safety, this method should be
   * invoked from the event-dispatching thread.
   */
  private static void createAndShowGUI() {
    //Make sure we have nice window decorations.
    JFrame.setDefaultLookAndFeelDecorated(true);

    //Create and set up the window.
    JFrame frame = new JFrame("TableDemo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //Create and set up the content pane.
    final DemoTable newContentPane = new DemoTable();
    newContentPane.setOpaque(true); //content panes must be opaque
    //frame.setContentPane(newContentPane);
	frame.getContentPane().setLayout(new BorderLayout());
	frame.getContentPane().add(newContentPane, BorderLayout.CENTER);
	
	JPanel panel = new JPanel(new FlowLayout());
	JButton button = new JButton("打 印");
	button.addActionListener(new ActionListener(){

		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			//((DemoTableModel)newContentPane.getTable().getModel()).printDebugData();
		}
	});
	panel.add(button);
	
	String[] boxValue = {"", "list -a", "list -b", "list -c"};
	JComboBox box = new JComboBox(boxValue);
	box.addItemListener(new ItemListener(){

		public void itemStateChanged(ItemEvent e) {
			// TODO Auto-generated method stub
			//System.out.println("selected:"+e.getItem());
			JComboBox box = (JComboBox)e.getSource();
			System.out.println(box.getSelectedItem().toString());
		}
		
	});
	panel.add(box);
	frame.getContentPane().add(panel, BorderLayout.SOUTH);
	
    //Display the window.
    frame.pack();
    frame.setVisible(true);
  }

  public static void main(String[] args) {
    //Schedule a job for the event-dispatching thread:
    //creating and showing this application's GUI.
	  AssignForm.configureUI();
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        createAndShowGUI();
      }
    });
  }
}

⌨️ 快捷键说明

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