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

📄 s19.htm

📁 java图形设计卷2 swing
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<SCRIPT LANGUAGE="JavaScript" SRC="/-fs0/sys/pop-up.js"></SCRIPT><SCRIPT LANGUAGE="JavaScript" SRC="/-fs0/sys/pop-up-all.js"></SCRIPT><html><head><title>易都网--Java 2 图形设计卷Ⅱ:SWING</title><LINK rel="stylesheet" href="../../../_public/javaa.css"><meta http-equiv="Content-Type" content="text/html; charset=GBK"><script language="JavaScript" src="../../../_public/javaa.js"></script><meta name="keywords" content="Java,JSP,ASP,PHP,J2EE,EJB,JavaScript,C/C++,ASM,CSS,HTML,XML,网络安全,MySQL,ACCESS"></head><body bgcolor="#FFFFFF"><table border=0 cellpadding=0 cellspacing=0 width="100%">  <tbody>   <script language="javascript">print2()</script>  <tr>     <td width="100%">       <table bgcolor=#EEEEEE border=0 cellpadding=3 cellspacing=0 width="100%">        <tbody>         <tr>           <td class=f1 id=thetd width="100%">             <p>[<a href="index.html" target="_self">目录</a>][<a href="s18.htm">上一页</a>][<a href="s20.htm">下一页</a>]</p>            <p align="center"><b>第19章 表格</b></p>            <p> 19.1 表格和滚动</p>            <p align="center"><b>例19-1 表格和滚动窗格</b></p>            <hr noshade size="1">            import javax.swing.*;<br>            import java.awt.*;<br>            import java.awt.event.*;            <p>public class Test extends JFrame {<br>              public Test() {<br>              Container contentPane = getContentPane();</p>            <p> contentPane.setLayout(new FlowLayout());<br>              contentPane.add(new JTable(10,10)); <br>              contentPane.add(new JScrollPane(new JTable(10,10)));<br>              }<br>              public static void main(String args[]) {<br>              GraphicJavaWindowHandler.launch(new Test(),<br>              &quot;Tables and Scrollpanes&quot;,100,100,850,700);<br>              }<br>              }<br>              class GraphicJavaWindowHandler extends WindowAdapter {<br>              public static void launch(final JFrame f, String title,<br>              final int x, final int y, <br>              final int w, int h) {<br>              f.setTitle(title);<br>              f.setBounds(x,y,w,h);<br>              f.setVisible(true);</p>            <p> f.setDefaultCloseOperation(<br>              WindowConstants.DISPOSE_ON_CLOSE);</p>            <p> f.addWindowListener(new WindowAdapter() {<br>              public void windowClosed(WindowEvent e) {<br>              System.exit(0);<br>              }<br>              });<br>              }<br>              }</p>            <hr size="1" noshade>            <p> 19.2 表格模型</p>            <p>&nbsp;</p>            <p align="center">&nbsp; </p>            <p> 19.2.1 表格数据模型</p>            <p>&nbsp;</p>            <p align="center">&nbsp; </p>            <p> 19.2.2 TableModel接口</p>            <p>&nbsp;</p>            <p align="center">&nbsp; </p>            <p> 19.2.3 AbstractTableModel</p>            <p>&nbsp;</p>            <p align="center"><b>例19-2 AbstractTableModel的一个简单扩展</b></p>            <hr noshade size="1">            import java.awt.*;<br>            import java.awt.event.*;<br>            import javax.swing.*;<br>            import javax.swing.table.*;<br>            import java.util.*;            <p>public class Test extends JFrame {<br>              JTable table = new JTable(<br>              new AbstractTableModel() {<br>              int rows = 100, cols = 10;</p>            <p> public int getRowCount() { return rows; }<br>              public int getColumnCount() { return cols; }</p>            <p> public Object getValueAt(int row, int col) {<br>              return &quot;(&quot; + row + &quot;,&quot; + col + &quot;)&quot;;<br>              }<br>              });</p>            <p> public Test() {<br>              getContentPane().add(new JScrollPane(table),<br>              BorderLayout.CENTER);<br>              }<br>              public static void main(String args[]) {<br>              GJApp.launch(<br>              new Test(), &quot;A Simple Model&quot;,300,300,450,300); <br>              }<br>              }<br>              class GJApp extends WindowAdapter {<br>              static private JPanel statusArea = new JPanel();<br>              static private JLabel status = new JLabel(&quot; &quot;);<br>              static private ResourceBundle resources;</p>            <p> public static void launch(final JFrame f, String title,<br>              final int x, final int y, <br>              final int w, int h) {<br>              launch(f,title,x,y,w,h,null); <br>              }<br>              public static void launch(final JFrame f, String title,<br>              final int x, final int y, <br>              final int w, int h,<br>              String propertiesFilename) {<br>              f.setTitle(title);<br>              f.setBounds(x,y,w,h);<br>              f.setVisible(true);</p>            <p> statusArea.setBorder(BorderFactory.createEtchedBorder());<br>              statusArea.setLayout(new FlowLayout(FlowLayout.LEFT,0,0));<br>              statusArea.add(status);<br>              status.setHorizontalAlignment(JLabel.LEFT);</p>            <p> f.setDefaultCloseOperation(<br>              WindowConstants.DISPOSE_ON_CLOSE);</p>            <p> if(propertiesFilename != null) {<br>              resources = ResourceBundle.getBundle(<br>              propertiesFilename, Locale.getDefault());<br>              }</p>            <p> f.addWindowListener(new WindowAdapter() {<br>              public void windowClosed(WindowEvent e) {<br>              System.exit(0);<br>              }<br>              });<br>              }<br>              static public JPanel getStatusArea() {<br>              return statusArea;<br>              }<br>              static public void showStatus(String s) {<br>              status.setText(s);<br>              }<br>              static Object getResource(String key) {<br>              if(resources != null) {<br>              return resources.getString(key);<br>              }<br>              return null;<br>              }<br>              }</p>            <hr size="1" noshade>            <p align="center">&nbsp; </p>            <p> 19.2.4 DefaultTableModel</p>            <p>&nbsp;</p>            <p align="center"><b>例19-3 使用DefaultTableModel</b></p>            <hr noshade size="1">            import java.awt.*;<br>            import java.awt.event.*;<br>            import javax.swing.*;<br>            import javax.swing.table.*;<br>            import java.util.*;            <p>public class Test extends JFrame {<br>              private int rows=3, cols=5;<br>              private Object[] rowData = new Object[cols];</p>            <p> private DefaultTableModel model = new DefaultTableModel();<br>              private JTable table = new JTable(model);</p>            <p> public Test() {<br>              for(int c=0; c &lt; cols; ++c)<br>              model.addColumn(&quot;Column &quot; + Integer.toString(c));</p>            <p> for(int r=0; r &lt; rows; ++r) {<br>              for(int c=0; c &lt; cols; ++c) {<br>              rowData[c] = &quot;(&quot; + r + &quot;,&quot; + c + &quot;)&quot;;<br>              }<br>              model.addRow(rowData);<br>              }<br>              getContentPane().add(new JScrollPane(table),<br>              BorderLayout.CENTER);<br>              getContentPane().add(new ControlPanel(),<br>              BorderLayout.NORTH);<br>              }<br>              public static void main(String args[]) {<br>              GJApp.launch(new Test(),<br>              &quot;Using DefaultTableModel&quot;,150,150,600,350); <br>              }<br>              class ControlPanel extends JPanel {<br>              private JButton rowButton = new JButton(&quot;Add Row&quot;),<br>              colButton = new JButton(&quot;Add Column&quot;);</p>            <p> public ControlPanel() {<br>              add(rowButton);<br>              add(colButton);</p>            <p> rowButton.addActionListener(new ActionListener() {<br>              public void actionPerformed(ActionEvent e) {<br>              int rowCount = model.getRowCount();<br>              int colCount = model.getColumnCount();</p>            <p> if(colCount &gt; rowData.length)<br>              rowData = new Object[colCount];</p>            <p> for(int c=0; c &lt; colCount; ++c) {<br>              rowData[c] = &quot;(&quot; + rowCount + &quot;,&quot; + <br>              c + &quot;)&quot;;<br>              }<br>              model.addRow(rowData);<br>              }<br>              });<br>              colButton.addActionListener(new ActionListener() {<br>              public void actionPerformed(ActionEvent e) {<br>              int colCount = model.getColumnCount();<br>              model.addColumn(&quot;Column &quot; + colCount);</p>            <p> // Bug: the call to sizeColumnsToFit() <br>              // should not be necessary<br>              table.sizeColumnsToFit(-1);<br>              }<br>              });<br>              }<br>              }<br>              }<br>              class GJApp extends WindowAdapter {<br>              static private JPanel statusArea = new JPanel();<br>              static private JLabel status = new JLabel(&quot; &quot;);<br>              static private ResourceBundle resources;</p>            <p> public static void launch(final JFrame f, String title,<br>              final int x, final int y, <br>              final int w, int h) {<br>              launch(f,title,x,y,w,h,null); <br>              }<br>              public static void launch(final JFrame f, String title,<br>              final int x, final int y, <br>              final int w, int h,<br>              String propertiesFilename) {<br>              f.setTitle(title);<br>              f.setBounds(x,y,w,h);<br>              f.setVisible(true);</p>            <p> statusArea.setBorder(BorderFactory.createEtchedBorder());<br>              statusArea.setLayout(new FlowLayout(FlowLayout.LEFT,0,0));<br>              statusArea.add(status);<br>              status.setHorizontalAlignment(JLabel.LEFT);</p>            <p> f.setDefaultCloseOperation(<br>              WindowConstants.DISPOSE_ON_CLOSE);</p>            <p> if(propertiesFilename != null) {<br>              resources = ResourceBundle.getBundle(<br>              propertiesFilename, Locale.getDefault());<br>              }</p>            <p> f.addWindowListener(new WindowAdapter() {<br>              public void windowClosed(WindowEvent e) {<br>              System.exit(0);<br>              }<br>              });<br>              }<br>              static public JPanel getStatusArea() {<br>              return statusArea;<br>              }<br>              static public void showStatus(String s) {<br>              status.setText(s);<br>              }<br>              static Object getResource(String key) {<br>              if(resources != null) {<br>              return resources.getString(key);<br>              }<br>              return null;<br>              }<br>              }</p>            <hr size="1" noshade>            <p> 19.2.5 表格模型、缺省绘制器和缺省编辑器</p>            <p>&nbsp;</p>            <p align="center"><b>例19-4 使用缺省绘制器和编辑器</b></p>            <hr noshade size="1">            import java.awt.*;<br>            import java.awt.event.*;<br>            import java.util.*;<br>            import javax.swing.*;<br>            import javax.swing.table.*;            <p>public class Test extends JFrame {<br>              String[] columnNames = {<br>              &quot;Name&quot;, &quot;Check-In Date&quot;, &quot;Check-Out Date&quot;,               &quot;Smoking&quot;,<br>              &quot;Fax&quot;, &quot;Laptop&quot;, &quot;Room Rate&quot;, &quot;Photo&quot;,<br>              };</p>            <p> Date dayOne = (new GregorianCalendar(2000, 10, 5)).getTime();<br>              Date dayTwo = (new GregorianCalendar(2000, 10, 7)).getTime();</p>            <p> Object[][] data = {<br>              { &quot;Andrews&quot;, dayOne, dayTwo,<br>              new Boolean(true), new Boolean(true), <br>              new Boolean(true), new Double(79.99),<br>              new ImageIcon(&quot;tenchi.jpg&quot;)},</p>            <p> { &quot;Anthony&quot;, dayOne, dayTwo, <br>              new Boolean(false), new Boolean(false), <br>              new Boolean(false), new Double(69.99),<br>              new ImageIcon(&quot;washu.jpg&quot;)},</p>            <p> { &quot;Woodard&quot;, dayOne, dayTwo, <br>              new Boolean(true), new Boolean(false), <br>

⌨️ 快捷键说明

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