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

📄 tabledemo.java

📁 TableDemo代码..很好玩的一个代码..可以
💻 JAVA
📖 第 1 页 / 共 2 页
字号:

/* 
  * @(#)TableDemo.java	1.6 99/11/23 
  * 
  * Copyright (c) 1997-1999 by Sun Microsystems, Inc. All Rights Reserved. 
  *  
  * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use, 
  * modify and redistribute this software in source and binary code form, 
  * provided that i) this copyright notice and license appear on all copies of 
  * the software; and ii) Licensee does not utilize the software in a manner 
  * which is disparaging to Sun. 
  *  
  * This software is provided "AS IS," without a warranty of any kind. ALL 
  * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY 
  * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR 
  * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE 
  * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING 
  * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS 
  * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, 
  * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER 
  * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF 
  * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE 
  * POSSIBILITY OF SUCH DAMAGES. 
  *  
  * This software is not designed or intended for use in on-line control of 
  * aircraft, air traffic, aircraft navigation or aircraft communications; or in 
  * the design, construction, operation or maintenance of any nuclear 
  * facility. Licensee represents and warrants that it will not use or 
  * redistribute the Software for such purposes. 
  */ 
  
  
 import javax.swing.*; 
 import javax.swing.event.*; 
 import javax.swing.text.*; 
 import javax.swing.table.*; 
 import javax.swing.border.*; 
 import javax.swing.colorchooser.*; 
 import javax.swing.filechooser.*; 
 import javax.accessibility.*; 
  
 import java.awt.*; 
 import java.awt.event.*; 
 import java.beans.*; 
 import java.util.*; 
 import java.io.*; 
 import java.applet.*; 
 import java.net.*; 
  
 /** 
  * Table demo 
  * 
  * @version 1.6 11/23/99 
  * @author Philip Milne 
  * @author Steve Wilson 
  */ 
 public class TableDemo extends DemoModule { 
     JTable      tableView; 
     JScrollPane scrollpane; 
     Dimension   origin = new Dimension(0, 0); 
      
     JCheckBox   isColumnReorderingAllowedCheckBox; 
     JCheckBox   showHorizontalLinesCheckBox; 
     JCheckBox   showVerticalLinesCheckBox; 
  
     JCheckBox   isColumnSelectionAllowedCheckBox; 
     JCheckBox   isRowSelectionAllowedCheckBox; 
     // JCheckBox   isRowAndColumnSelectionAllowedCheckBox; 
  
     JLabel      interCellSpacingLabel; 
     JLabel      rowHeightLabel; 
  
     JSlider     interCellSpacingSlider; 
     JSlider     rowHeightSlider; 
  
     JComboBox	selectionModeComboBox = null; 
     JComboBox	resizeModeComboBox = null; 
  
     JPanel      controlPanel; 
     JScrollPane tableAggregate; 
  
     String path = "ImageClub/food/"; 
  
     final int INITIAL_ROWHEIGHT = 33; 
  
     /** 
      * main method allows us to run as a standalone demo. 
      */ 
     public static void main(String[] args) { 
 	TableDemo demo = new TableDemo(null); 
 	demo.mainImpl(); 
     } 
  
     /** 
      * TableDemo Constructor 
      */ 
     public TableDemo(SwingSet2 swingset) { 
 	super(swingset, "TableDemo", "toolbar/JTable.gif"); 
 	 
 	getDemoPanel().setLayout(new BorderLayout()); 
 	controlPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); 
 	JPanel column1 = new JPanel (new ColumnLayout() ); 
 	JPanel column2 = new JPanel (new ColumnLayout() ); 
 	JPanel column3 = new JPanel (new ColumnLayout() ); 
 	 
 	getDemoPanel().add(controlPanel, BorderLayout.NORTH); 
 	Vector relatedComponents = new Vector(); 
 	 
 	// start column 1 
     	isColumnReorderingAllowedCheckBox = new JCheckBox(getString("TableDemo.reordering_allowed"), true); 
         column1.add(isColumnReorderingAllowedCheckBox); 
         isColumnReorderingAllowedCheckBox.addActionListener(new ActionListener() { 
 	    public void actionPerformed(ActionEvent e) { 
 	        boolean flag = ((JCheckBox)e.getSource()).isSelected(); 
                 tableView.getTableHeader().setReorderingAllowed(flag); 
                 tableView.repaint(); 
 	    } 
         }); 
 	 
 	 
     	showHorizontalLinesCheckBox = new JCheckBox(getString("TableDemo.horz_lines"), true); 
         column1.add(showHorizontalLinesCheckBox); 
         showHorizontalLinesCheckBox.addActionListener(new ActionListener() { 
 	    public void actionPerformed(ActionEvent e) { 
 	        boolean flag = ((JCheckBox)e.getSource()).isSelected(); 
                 tableView.setShowHorizontalLines(flag); ; 
                 tableView.repaint(); 
 	    } 
         }); 
 	 
     	showVerticalLinesCheckBox = new JCheckBox(getString("TableDemo.vert_lines"), true); 
         column1.add(showVerticalLinesCheckBox); 
         showVerticalLinesCheckBox.addActionListener(new ActionListener() { 
 	    public void actionPerformed(ActionEvent e) { 
 	        boolean flag = ((JCheckBox)e.getSource()).isSelected(); 
                 tableView.setShowVerticalLines(flag); ; 
                 tableView.repaint(); 
 	    } 
         }); 
  
 	// Show that showHorizontal/Vertical controls are related 
 	relatedComponents.removeAllElements(); 
 	relatedComponents.add(showHorizontalLinesCheckBox); 
 	relatedComponents.add(showVerticalLinesCheckBox); 
 	buildAccessibleGroup(relatedComponents); 
 	 
         interCellSpacingLabel = new JLabel(getString("TableDemo.intercell_spacing_colon")); 
 	column1.add(interCellSpacingLabel); 
 	 
     	interCellSpacingSlider = new JSlider(JSlider.HORIZONTAL, 0, 10, 1); 
 	interCellSpacingSlider.getAccessibleContext().setAccessibleName(getString("TableDemo.intercell_spacing")); 
 	interCellSpacingLabel.setLabelFor(interCellSpacingSlider); 
         column1.add(interCellSpacingSlider); 
         interCellSpacingSlider.addChangeListener(new ChangeListener() { 
 	    public void stateChanged(ChangeEvent e) { 
 	        int spacing = ((JSlider)e.getSource()).getValue(); 
                 tableView.setIntercellSpacing(new Dimension(spacing, spacing)); 
                 tableView.repaint(); 
 	    } 
         }); 
 	 
         controlPanel.add(column1); 
 	 
 	// start column 2 
  
  	isColumnSelectionAllowedCheckBox = new JCheckBox(getString("TableDemo.column_selection"), false); 
         column2.add(isColumnSelectionAllowedCheckBox); 
         isColumnSelectionAllowedCheckBox.addActionListener(new ActionListener() { 
 	    public void actionPerformed(ActionEvent e) { 
 	        boolean flag = ((JCheckBox)e.getSource()).isSelected(); 
                 tableView.setColumnSelectionAllowed(flag); ; 
                 tableView.repaint(); 
 	    } 
         }); 
 	 
     	isRowSelectionAllowedCheckBox = new JCheckBox(getString("TableDemo.row_selection"), true); 
         column2.add(isRowSelectionAllowedCheckBox); 
         isRowSelectionAllowedCheckBox.addActionListener(new ActionListener() { 
 	    public void actionPerformed(ActionEvent e) { 
 	        boolean flag = ((JCheckBox)e.getSource()).isSelected(); 
                 tableView.setRowSelectionAllowed(flag); ; 
                 tableView.repaint(); 
 	    } 
         }); 
  
 	// Show that row/column selections are related 
 	relatedComponents.removeAllElements(); 
 	relatedComponents.add(isColumnSelectionAllowedCheckBox); 
 	relatedComponents.add(isRowSelectionAllowedCheckBox); 
 	buildAccessibleGroup(relatedComponents); 
  
 	/* 
     	isRowAndColumnSelectionAllowedCheckBox = new JCheckBox(getString("TableDemo.cell_selection"), false); 
         column2.add(isRowAndColumnSelectionAllowedCheckBox); 
         isRowAndColumnSelectionAllowedCheckBox.addActionListener(new ActionListener() { 
 	    public void actionPerformed(ActionEvent e) { 
 	        boolean flag = ((JCheckBox)e.getSource()).isSelected(); 
                 tableView.setCellSelectionEnabled(flag); ; 
                 tableView.repaint(); 
 	    } 
         }); 
 	*/ 
  
         rowHeightLabel = new JLabel(getString("TableDemo.row_height_colon")); 
 	column2.add(rowHeightLabel); 
  
     	rowHeightSlider = new JSlider(JSlider.HORIZONTAL, 5, 100, INITIAL_ROWHEIGHT); 
 	rowHeightSlider.getAccessibleContext().setAccessibleName(getString("TableDemo.row_height")); 
 	rowHeightLabel.setLabelFor(rowHeightSlider); 
         column2.add(rowHeightSlider); 
         rowHeightSlider.addChangeListener(new ChangeListener() { 
 	    public void stateChanged(ChangeEvent e) { 
 	        int height = ((JSlider)e.getSource()).getValue(); 
                 tableView.setRowHeight(height); 
                 tableView.repaint(); 
 	    } 
         }); 
  
         controlPanel.add(column2); 
          
 	// Show that spacing controls are related 
 	relatedComponents.removeAllElements(); 
 	relatedComponents.add(interCellSpacingSlider); 
 	relatedComponents.add(rowHeightSlider); 
 	buildAccessibleGroup(relatedComponents); 
  
         // Create the table. 
         tableAggregate = createTable(); 
         getDemoPanel().add(tableAggregate, BorderLayout.CENTER); 
  
  
         // ComboBox for selection modes. 
 	JPanel selectMode = new JPanel(); 
         column3.setLayout(new ColumnLayout()); 
       	selectMode.setBorder(new TitledBorder(getString("TableDemo.selection_mode"))); 
  
  
         selectionModeComboBox = new JComboBox(); 
         selectionModeComboBox.addItem(getString("TableDemo.single")); 
         selectionModeComboBox.addItem(getString("TableDemo.one_range")); 
         selectionModeComboBox.addItem(getString("TableDemo.multiple_ranges")); 
         selectionModeComboBox.setSelectedIndex(tableView.getSelectionModel().getSelectionMode()); 
         selectionModeComboBox.addItemListener(new ItemListener() { 
 	    public void itemStateChanged(ItemEvent e) { 
 	        JComboBox source = (JComboBox)e.getSource(); 
                 tableView.setSelectionMode(source.getSelectedIndex()); 
 	    } 
         }); 
  
 	selectMode.add(selectionModeComboBox); 
         column3.add(selectMode); 
  
         // Combo box for table resize mode. 
  
 	JPanel resizeMode = new JPanel(); 
  
 	resizeMode.setBorder(new TitledBorder(getString("TableDemo.autoresize_mode"))); 
  
  
         resizeModeComboBox = new JComboBox(); 
         resizeModeComboBox.addItem(getString("TableDemo.off")); 
         resizeModeComboBox.addItem(getString("TableDemo.column_boundries")); 
         resizeModeComboBox.addItem(getString("TableDemo.subsequent_columns")); 
         resizeModeComboBox.addItem(getString("TableDemo.last_column")); 
         resizeModeComboBox.addItem(getString("TableDemo.all_columns")); 
         resizeModeComboBox.setSelectedIndex(tableView.getAutoResizeMode()); 
         resizeModeComboBox.addItemListener(new ItemListener() { 
 	    public void itemStateChanged(ItemEvent e) { 
 	        JComboBox source = (JComboBox)e.getSource(); 
                 tableView.setAutoResizeMode(source.getSelectedIndex()); 
 	    } 
         }); 
  
 	resizeMode.add(resizeModeComboBox); 
         column3.add(resizeMode); 
  
         controlPanel.add(column3); 
  
 	setTableControllers(); // Set accessibility information 
 	     
     } // TableDemo() 
  
     /** 
      * Sets the Accessibility MEMBER_OF property to denote that 
      * these components work together as a group. Each object  
      * is set to be a MEMBER_OF an array that contains all of 
      * the objects in the group, including itself. 
      * 
      * @param components The list of objects that are related 
      */ 
     void buildAccessibleGroup(Vector components) { 
  
 	AccessibleContext context = null; 
 	int numComponents = components.size(); 
 	Object[] group = components.toArray(); 
 	Object object = null; 
 	for (int i = 0; i < numComponents; ++i) { 
 	    object = components.elementAt(i); 
 	    if (object instanceof Accessible) { 
 	        context = ((Accessible)components.elementAt(i)). 
 						 getAccessibleContext(); 

⌨️ 快捷键说明

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