<?xml version="1.0" encoding="utf-8"?><!-- generator="/3.3.3" -->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Our blog</title>
		<link>http://nvware.com/ourblog.php</link>
		<atom:link rel="self" type="application/rss+xml" href="http://nvware.com/ourblog.php?tempskin=_rss2" />
		<description></description>
		<language>en-US-utf8</language>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<admin:generatorAgent rdf:resource="http://b2evolution.net/?v=3.3.3"/>
		<ttl>60</ttl>
				<item>
			<title>TableFilterSelectionVectorPanel</title>
			<link>http://nvware.com/ourblog.php?p=21&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Wed, 20 Oct 2010 06:54:58 +0000</pubDate>			<dc:creator>admin</dc:creator>
			<category domain="alt">JAVA</category>
<category domain="alt">Standard</category>
<category domain="main">Desktop(Swing)</category>			<guid isPermaLink="false">21@http://nvware.com/</guid>
						<description>&lt;div&gt;&lt;div&gt;&lt;a href=&quot;http://nvware.com/media/blogs/ourblog/demo/TableFilterDemo.JPG&quot;&gt;&lt;img src=&quot;http://nvware.com/htsrv/getfile.php/TableFilterDemo.JPG?root=collection_3&amp;amp;path=demo/TableFilterDemo.JPG&amp;amp;mtime=1287558228&amp;amp;size=fit-320x320&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;package components;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Created by IntelliJ IDEA.&lt;br /&gt; * User: hamid valizadegan&lt;br /&gt; * Date: Sep 26, 2010&lt;br /&gt; * Time: 3:34:25 AM&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;import util.Util;&lt;br /&gt;&lt;br /&gt;import javax.swing.*;&lt;br /&gt;import javax.swing.event.DocumentEvent;&lt;br /&gt;import javax.swing.event.DocumentListener;&lt;br /&gt;import javax.swing.event.ListSelectionEvent;&lt;br /&gt;import javax.swing.event.ListSelectionListener;&lt;br /&gt;import javax.swing.table.AbstractTableModel;&lt;br /&gt;import javax.swing.table.TableRowSorter;&lt;br /&gt;import java.awt.*;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.List;&lt;br /&gt;import java.util.Vector;&lt;br /&gt;&lt;br /&gt;public class TableFilterSelectionVectorPanel extends JPanel {&lt;br /&gt;&lt;br /&gt; private boolean DEBUG = true;&lt;br /&gt; private String[] fileds = {};// {&quot;id&quot;, &quot;name&quot;, &quot;zipcode&quot;};&lt;br /&gt; private JTable table;&lt;br /&gt; private JTextField filterText;&lt;br /&gt; private JTextField statusText;&lt;br /&gt; private TableRowSorter&amp;lt;AbstractTableModel&amp;gt; sorter;&lt;br /&gt; AbstractTableModel model = new javax.swing.table.DefaultTableModel(new Object[][]{}, new String[]{&quot;design Time&quot;});&lt;br /&gt;&lt;br /&gt; public JTable getTable() {&lt;br /&gt; return table;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public TableFilterSelectionVectorPanel() {&lt;br /&gt; super();&lt;br /&gt; setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));&lt;br /&gt; Vector dataVector = openTableQuery();&lt;br /&gt; String fileds = Util.fetchGetterFields(dataVector.get(0));&lt;br /&gt; Vector  columnNamesVector =Util.stringToArrayVector(fileds, &quot;,&quot;);&lt;br /&gt;&lt;br /&gt; //Create a table with a sorter.&lt;br /&gt; model = java.beans.Beans.isDesignTime() ? model : new MyTableModel(dataVector, columnNamesVector);&lt;br /&gt; sorter = new TableRowSorter&amp;lt;AbstractTableModel&amp;gt;(model);&lt;br /&gt; table = new JTable(model);&lt;br /&gt;&lt;br /&gt; table.setRowSorter(sorter);&lt;br /&gt; table.setPreferredScrollableViewportSize(new Dimension(500, 70));&lt;br /&gt; table.setFillsViewportHeight(true);&lt;br /&gt; //For the purposes of this example, better to have a single&lt;br /&gt; //selection.&lt;br /&gt; table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);&lt;br /&gt; //When selection changes, provide user with row numbers for&lt;br /&gt; //both view and model.&lt;br /&gt; table.getSelectionModel().addListSelectionListener(&lt;br /&gt; new ListSelectionListener() {&lt;br /&gt;&lt;br /&gt; public void valueChanged(ListSelectionEvent event) {&lt;br /&gt; int viewRow = table.getSelectedRow();&lt;br /&gt; if (viewRow &amp;lt; 0) {&lt;br /&gt; //Selection got filtered away.&lt;br /&gt; statusText.setText(&quot;&quot;);&lt;br /&gt; } else {&lt;br /&gt; int modelRow =&lt;br /&gt; table.convertRowIndexToModel(viewRow);&lt;br /&gt; statusText.setText(&lt;br /&gt; String.format(&quot;Selected Row in view: %d. &quot; + &quot;Selected Row in model: %d.&quot;, viewRow, modelRow));&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt; //Create the scroll pane and add the table to it.&lt;br /&gt; JScrollPane scrollPane = new JScrollPane(table);&lt;br /&gt; //Add the scroll pane to this panel.&lt;br /&gt; add(scrollPane);&lt;br /&gt; //Create a separate form for filterText and statusText&lt;br /&gt; JPanel form = new JPanel(new SpringLayout());&lt;br /&gt; JLabel l1 = new JLabel(&quot;Filter Text:&quot;, SwingConstants.TRAILING);&lt;br /&gt; form.add(l1);&lt;br /&gt; filterText = new JTextField();&lt;br /&gt; //Whenever filterText changes, invoke newFilter.&lt;br /&gt; filterText.getDocument().addDocumentListener(&lt;br /&gt; new DocumentListener() {&lt;br /&gt;&lt;br /&gt; public void changedUpdate(DocumentEvent e) {&lt;br /&gt; newFilter(filterText.getText());&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void insertUpdate(DocumentEvent e) {&lt;br /&gt; newFilter(filterText.getText());&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void removeUpdate(DocumentEvent e) {&lt;br /&gt; newFilter(filterText.getText());&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt; l1.setLabelFor(filterText);&lt;br /&gt; form.add(filterText);&lt;br /&gt; JLabel l2 = new JLabel(&quot;Status:&quot;, SwingConstants.TRAILING);&lt;br /&gt; form.add(l2);&lt;br /&gt; statusText = new JTextField();&lt;br /&gt; l2.setLabelFor(statusText);&lt;br /&gt; form.add(statusText);&lt;br /&gt; SpringUtilities.makeCompactGrid(form, 2, 2, 6, 6, 6, 6);&lt;br /&gt; add(form);&lt;br /&gt; form.setVisible(!DEBUG);&lt;br /&gt; }&lt;br /&gt; private Vector openTableQuery() {&lt;br /&gt; Vector dataVector=new Vector(3);&lt;br /&gt; dataVector.add(new Student(&quot;1&quot;,&quot;hamid&quot;, &quot;valizadegan&quot;));&lt;br /&gt; dataVector.add(new Student(&quot;2&quot;,&quot;jalal&quot;, &quot;mashouli&quot;));&lt;br /&gt; dataVector.add(new Student(&quot;3&quot;,&quot;kambiz&quot;, &quot;yaghobi&quot;));&lt;br /&gt; return dataVector;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public String getFilterText() {&lt;br /&gt; return filterText.getText();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setFilterText(String filterText) {&lt;br /&gt; this.filterText.setText(filterText);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; /**&lt;br /&gt; * Update the row filter regular expression from the expression in&lt;br /&gt; * the text box.&lt;br /&gt; */&lt;br /&gt; private void newFilter(String regex) {&lt;br /&gt; List&amp;lt;RowFilter&amp;lt;AbstractTableModel, Object&amp;gt;&amp;gt; rfs = new ArrayList&amp;lt;RowFilter&amp;lt;AbstractTableModel, Object&amp;gt;&amp;gt;();&lt;br /&gt; RowFilter&amp;lt;AbstractTableModel, Object&amp;gt; rf = RowFilter.regexFilter(&quot;&quot;, 0);&lt;br /&gt; //If current expression doesn't parse, don't update.&lt;br /&gt; String[] regexes =Util.stringToArraySplit(regex, &quot;,&quot;);&lt;br /&gt; for (int i = 0; i &amp;lt; regexes.length; i++) {&lt;br /&gt; try {&lt;br /&gt; if (!regexes[i].isEmpty()) {&lt;br /&gt; rf = RowFilter.regexFilter(regexes[i], i);&lt;br /&gt; rfs.add(rf);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; } catch (java.util.regex.PatternSyntaxException e) {&lt;br /&gt; return;&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; if (rf == null) {&lt;br /&gt; return;&lt;br /&gt; }&lt;br /&gt; rf = RowFilter.andFilter(rfs);&lt;br /&gt; sorter.setRowFilter(rf);&lt;br /&gt; }&lt;br /&gt; private String id;&lt;br /&gt;&lt;br /&gt; public String getId() {&lt;br /&gt; return id;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setId(String id) {&lt;br /&gt; this.id = id;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public int getIdIndexColumn() {&lt;br /&gt; return model.findColumn(id);&lt;br /&gt; }&lt;br /&gt; public String[] getFileds() {&lt;br /&gt; return fileds;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setFileds(String[] fileds) {&lt;br /&gt; this.fileds = fileds;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public boolean isRecordSelected() {&lt;br /&gt; return table.getSelectedRow() != -1;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public Object getSelectedID() {&lt;br /&gt; int col = model.findColumn(id);&lt;br /&gt; int row = table.getSelectedRow();&lt;br /&gt; if (row != -1 &amp;amp;&amp;amp; col != -1) {&lt;br /&gt; return table.getValueAt(row, col);&lt;br /&gt; }&lt;br /&gt; return null;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; class MyTableModel extends AbstractTableModel {  //DefaultTableModel { //&lt;br /&gt; Vector rowDataVector;&lt;br /&gt; Vector columnNamesVector;&lt;br /&gt; public MyTableModel() {&lt;br /&gt; }&lt;br /&gt; public MyTableModel(Vector newData, Vector colNames) {&lt;br /&gt; setDataVector(newData,colNames);&lt;br /&gt; }&lt;br /&gt; public void setDataVector(Vector newData, Vector colNames) {&lt;br /&gt; rowDataVector=newData;&lt;br /&gt; columnNamesVector=colNames;&lt;br /&gt; fireTableDataChanged();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public int getColumnCount() {&lt;br /&gt; return columnNamesVector.size();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public int getRowCount() {&lt;br /&gt; return rowDataVector.size();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public String getColumnName(int col) {&lt;br /&gt; return (String)columnNamesVector.get(col);&lt;br /&gt; }&lt;br /&gt; public Object getValueAt(int row, int col) {&lt;br /&gt; return Util.execGetMethod(rowDataVector.get(row), getColumnName(col));&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; /*&lt;br /&gt; * JTable uses this method to determine the default renderer/&lt;br /&gt; * editor for each cell.  If we didn't implement this method,&lt;br /&gt; * then the last column would contain text (&quot;true&quot;/&quot;false&quot;),&lt;br /&gt; * rather than a check box.&lt;br /&gt; */&lt;br /&gt; public Class getColumnClass(int c) {&lt;br /&gt; return getValueAt(0, c).getClass();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; /*&lt;br /&gt; * Don't need to implement this method unless your table's&lt;br /&gt; * editable.&lt;br /&gt; */&lt;br /&gt; public boolean isCellEditable(int row, int col) {&lt;br /&gt; //Note that the data/cell address is constant,&lt;br /&gt; //no matter where the cell appears onscreen.&lt;br /&gt; if (col &amp;lt; 2) {&lt;br /&gt; return false;&lt;br /&gt; } else {&lt;br /&gt; return true;&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; /*&lt;br /&gt; * Don't need to implement this method unless your table's&lt;br /&gt; * data can change.&lt;br /&gt; */&lt;br /&gt; public void setValueAt(Object value, int row, int col) {&lt;br /&gt; if (DEBUG) {&lt;br /&gt; System.out.println(&quot;Setting value at &quot; + row + &quot;,&quot; + col&lt;br /&gt; + &quot; to &quot; + value&lt;br /&gt; + &quot; (an instance of &quot;&lt;br /&gt; + value.getClass() + &quot;)&quot;);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; //data[row][col] = value;&lt;br /&gt; Util.execSetMethod(rowDataVector.get(row), getColumnName(col),new Object[]{value});&lt;br /&gt; fireTableCellUpdated(row, col);&lt;br /&gt;&lt;br /&gt; if (DEBUG) {&lt;br /&gt; System.out.println(&quot;New value of data:&quot;);&lt;br /&gt; printDebugData();&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; private void printDebugData() {&lt;br /&gt; int numRows = getRowCount();&lt;br /&gt; int numCols = getColumnCount();&lt;br /&gt;&lt;br /&gt; for (int i = 0; i &amp;lt; numRows; i++) {&lt;br /&gt; System.out.print(&quot;    row &quot; + i + &quot;:&quot;);&lt;br /&gt; for (int j = 0; j &amp;lt; numCols; j++) {&lt;br /&gt; System.out.print(&quot;  &quot; + getValueAt(i,j));&lt;br /&gt; }&lt;br /&gt; System.out.println();&lt;br /&gt; }&lt;br /&gt; System.out.println(&quot;--------------------------&quot;);&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; /**&lt;br /&gt; * Create the GUI and show it.  For thread safety,&lt;br /&gt; * this method should be invoked from the&lt;br /&gt; * event-dispatching thread.&lt;br /&gt; */&lt;br /&gt; private static void createAndShowGUI() {&lt;br /&gt; //Create and set up the window.&lt;br /&gt; JFrame frame = new JFrame(&quot;TableFilterDemo&quot;);&lt;br /&gt; frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;&lt;br /&gt; //Create and set up the content pane.&lt;br /&gt; TableFilterSelectionVectorPanel newContentPane = new TableFilterSelectionVectorPanel();&lt;br /&gt; newContentPane.setOpaque(true); //content panes must be opaque&lt;br /&gt; frame.setContentPane(newContentPane);&lt;br /&gt;&lt;br /&gt; //Display the window.&lt;br /&gt; frame.pack();&lt;br /&gt; frame.setVisible(true);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt; //Schedule a job for the event-dispatching thread:&lt;br /&gt; //creating and showing this application's GUI.&lt;br /&gt; new JTable(new Vector(),new Vector() );&lt;br /&gt; SwingUtilities.invokeLater(new Runnable() {&lt;br /&gt;&lt;br /&gt; public void run() {&lt;br /&gt; createAndShowGUI();&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt; }&lt;br /&gt;}&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://nvware.com/ourblog.php?p=21&amp;amp;more=1&amp;amp;c=1&amp;amp;tb=1&amp;amp;pb=1&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://nvware.com/&quot;&gt;nvware&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<div><div><a href="http://nvware.com/media/blogs/ourblog/demo/TableFilterDemo.JPG"><img src="http://nvware.com/htsrv/getfile.php/TableFilterDemo.JPG?root=collection_3&amp;path=demo/TableFilterDemo.JPG&amp;mtime=1287558228&amp;size=fit-320x320" alt="" title="" /></a></div></div><p>package components;<br /><br />/**<br /> * Created by IntelliJ IDEA.<br /> * User: hamid valizadegan<br /> * Date: Sep 26, 2010<br /> * Time: 3:34:25 AM<br /> */<br /><br />import util.Util;<br /><br />import javax.swing.*;<br />import javax.swing.event.DocumentEvent;<br />import javax.swing.event.DocumentListener;<br />import javax.swing.event.ListSelectionEvent;<br />import javax.swing.event.ListSelectionListener;<br />import javax.swing.table.AbstractTableModel;<br />import javax.swing.table.TableRowSorter;<br />import java.awt.*;<br />import java.util.ArrayList;<br />import java.util.List;<br />import java.util.Vector;<br /><br />public class TableFilterSelectionVectorPanel extends JPanel {<br /><br /> private boolean DEBUG = true;<br /> private String[] fileds = {};// {"id", "name", "zipcode"};<br /> private JTable table;<br /> private JTextField filterText;<br /> private JTextField statusText;<br /> private TableRowSorter&lt;AbstractTableModel&gt; sorter;<br /> AbstractTableModel model = new javax.swing.table.DefaultTableModel(new Object[][]{}, new String[]{"design Time"});<br /><br /> public JTable getTable() {<br /> return table;<br /> }<br /><br /> public TableFilterSelectionVectorPanel() {<br /> super();<br /> setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));<br /> Vector dataVector = openTableQuery();<br /> String fileds = Util.fetchGetterFields(dataVector.get(0));<br /> Vector  columnNamesVector =Util.stringToArrayVector(fileds, ",");<br /><br /> //Create a table with a sorter.<br /> model = java.beans.Beans.isDesignTime() ? model : new MyTableModel(dataVector, columnNamesVector);<br /> sorter = new TableRowSorter&lt;AbstractTableModel&gt;(model);<br /> table = new JTable(model);<br /><br /> table.setRowSorter(sorter);<br /> table.setPreferredScrollableViewportSize(new Dimension(500, 70));<br /> table.setFillsViewportHeight(true);<br /> //For the purposes of this example, better to have a single<br /> //selection.<br /> table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);<br /> //When selection changes, provide user with row numbers for<br /> //both view and model.<br /> table.getSelectionModel().addListSelectionListener(<br /> new ListSelectionListener() {<br /><br /> public void valueChanged(ListSelectionEvent event) {<br /> int viewRow = table.getSelectedRow();<br /> if (viewRow &lt; 0) {<br /> //Selection got filtered away.<br /> statusText.setText("");<br /> } else {<br /> int modelRow =<br /> table.convertRowIndexToModel(viewRow);<br /> statusText.setText(<br /> String.format("Selected Row in view: %d. " + "Selected Row in model: %d.", viewRow, modelRow));<br /> }<br /> }<br /> });<br /> //Create the scroll pane and add the table to it.<br /> JScrollPane scrollPane = new JScrollPane(table);<br /> //Add the scroll pane to this panel.<br /> add(scrollPane);<br /> //Create a separate form for filterText and statusText<br /> JPanel form = new JPanel(new SpringLayout());<br /> JLabel l1 = new JLabel("Filter Text:", SwingConstants.TRAILING);<br /> form.add(l1);<br /> filterText = new JTextField();<br /> //Whenever filterText changes, invoke newFilter.<br /> filterText.getDocument().addDocumentListener(<br /> new DocumentListener() {<br /><br /> public void changedUpdate(DocumentEvent e) {<br /> newFilter(filterText.getText());<br /> }<br /><br /> public void insertUpdate(DocumentEvent e) {<br /> newFilter(filterText.getText());<br /> }<br /><br /> public void removeUpdate(DocumentEvent e) {<br /> newFilter(filterText.getText());<br /> }<br /> });<br /> l1.setLabelFor(filterText);<br /> form.add(filterText);<br /> JLabel l2 = new JLabel("Status:", SwingConstants.TRAILING);<br /> form.add(l2);<br /> statusText = new JTextField();<br /> l2.setLabelFor(statusText);<br /> form.add(statusText);<br /> SpringUtilities.makeCompactGrid(form, 2, 2, 6, 6, 6, 6);<br /> add(form);<br /> form.setVisible(!DEBUG);<br /> }<br /> private Vector openTableQuery() {<br /> Vector dataVector=new Vector(3);<br /> dataVector.add(new Student("1","hamid", "valizadegan"));<br /> dataVector.add(new Student("2","jalal", "mashouli"));<br /> dataVector.add(new Student("3","kambiz", "yaghobi"));<br /> return dataVector;<br /> }<br /><br /> public String getFilterText() {<br /> return filterText.getText();<br /> }<br /><br /> public void setFilterText(String filterText) {<br /> this.filterText.setText(filterText);<br /> }<br /><br /> /**<br /> * Update the row filter regular expression from the expression in<br /> * the text box.<br /> */<br /> private void newFilter(String regex) {<br /> List&lt;RowFilter&lt;AbstractTableModel, Object&gt;&gt; rfs = new ArrayList&lt;RowFilter&lt;AbstractTableModel, Object&gt;&gt;();<br /> RowFilter&lt;AbstractTableModel, Object&gt; rf = RowFilter.regexFilter("", 0);<br /> //If current expression doesn't parse, don't update.<br /> String[] regexes =Util.stringToArraySplit(regex, ",");<br /> for (int i = 0; i &lt; regexes.length; i++) {<br /> try {<br /> if (!regexes[i].isEmpty()) {<br /> rf = RowFilter.regexFilter(regexes[i], i);<br /> rfs.add(rf);<br /> }<br /><br /> } catch (java.util.regex.PatternSyntaxException e) {<br /> return;<br /> }<br /> }<br /> if (rf == null) {<br /> return;<br /> }<br /> rf = RowFilter.andFilter(rfs);<br /> sorter.setRowFilter(rf);<br /> }<br /> private String id;<br /><br /> public String getId() {<br /> return id;<br /> }<br /><br /> public void setId(String id) {<br /> this.id = id;<br /> }<br /><br /> public int getIdIndexColumn() {<br /> return model.findColumn(id);<br /> }<br /> public String[] getFileds() {<br /> return fileds;<br /> }<br /><br /> public void setFileds(String[] fileds) {<br /> this.fileds = fileds;<br /> }<br /><br /> public boolean isRecordSelected() {<br /> return table.getSelectedRow() != -1;<br /> }<br /><br /> public Object getSelectedID() {<br /> int col = model.findColumn(id);<br /> int row = table.getSelectedRow();<br /> if (row != -1 &amp;&amp; col != -1) {<br /> return table.getValueAt(row, col);<br /> }<br /> return null;<br /> }<br /><br /> class MyTableModel extends AbstractTableModel {  //DefaultTableModel { //<br /> Vector rowDataVector;<br /> Vector columnNamesVector;<br /> public MyTableModel() {<br /> }<br /> public MyTableModel(Vector newData, Vector colNames) {<br /> setDataVector(newData,colNames);<br /> }<br /> public void setDataVector(Vector newData, Vector colNames) {<br /> rowDataVector=newData;<br /> columnNamesVector=colNames;<br /> fireTableDataChanged();<br /> }<br /><br /> public int getColumnCount() {<br /> return columnNamesVector.size();<br /> }<br /><br /> public int getRowCount() {<br /> return rowDataVector.size();<br /> }<br /><br /> public String getColumnName(int col) {<br /> return (String)columnNamesVector.get(col);<br /> }<br /> public Object getValueAt(int row, int col) {<br /> return Util.execGetMethod(rowDataVector.get(row), getColumnName(col));<br /> }<br /><br /> /*<br /> * JTable uses this method to determine the default renderer/<br /> * editor for each cell.  If we didn't implement this method,<br /> * then the last column would contain text ("true"/"false"),<br /> * rather than a check box.<br /> */<br /> public Class getColumnClass(int c) {<br /> return getValueAt(0, c).getClass();<br /> }<br /><br /> /*<br /> * Don't need to implement this method unless your table's<br /> * editable.<br /> */<br /> public boolean isCellEditable(int row, int col) {<br /> //Note that the data/cell address is constant,<br /> //no matter where the cell appears onscreen.<br /> if (col &lt; 2) {<br /> return false;<br /> } else {<br /> return true;<br /> }<br /> }<br /><br /> /*<br /> * Don't need to implement this method unless your table's<br /> * data can change.<br /> */<br /> public void setValueAt(Object value, int row, int col) {<br /> if (DEBUG) {<br /> System.out.println("Setting value at " + row + "," + col<br /> + " to " + value<br /> + " (an instance of "<br /> + value.getClass() + ")");<br /> }<br /><br /> //data[row][col] = value;<br /> Util.execSetMethod(rowDataVector.get(row), getColumnName(col),new Object[]{value});<br /> fireTableCellUpdated(row, col);<br /><br /> if (DEBUG) {<br /> System.out.println("New value of data:");<br /> printDebugData();<br /> }<br /> }<br /><br /> private void printDebugData() {<br /> int numRows = getRowCount();<br /> int numCols = getColumnCount();<br /><br /> for (int i = 0; i &lt; numRows; i++) {<br /> System.out.print("    row " + i + ":");<br /> for (int j = 0; j &lt; numCols; j++) {<br /> System.out.print("  " + getValueAt(i,j));<br /> }<br /> System.out.println();<br /> }<br /> System.out.println("--------------------------");<br /> }<br /> }<br /><br /> /**<br /> * Create the GUI and show it.  For thread safety,<br /> * this method should be invoked from the<br /> * event-dispatching thread.<br /> */<br /> private static void createAndShowGUI() {<br /> //Create and set up the window.<br /> JFrame frame = new JFrame("TableFilterDemo");<br /> frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br /><br /> //Create and set up the content pane.<br /> TableFilterSelectionVectorPanel newContentPane = new TableFilterSelectionVectorPanel();<br /> newContentPane.setOpaque(true); //content panes must be opaque<br /> frame.setContentPane(newContentPane);<br /><br /> //Display the window.<br /> frame.pack();<br /> frame.setVisible(true);<br /> }<br /><br /> public static void main(String[] args) {<br /> //Schedule a job for the event-dispatching thread:<br /> //creating and showing this application's GUI.<br /> new JTable(new Vector(),new Vector() );<br /> SwingUtilities.invokeLater(new Runnable() {<br /><br /> public void run() {<br /> createAndShowGUI();<br /> }<br /> });<br /> }<br />}</p><div class="item_footer"><p><small><a href="http://nvware.com/ourblog.php?p=21&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1">Original post</a> blogged on <a href="http://nvware.com/">nvware</a>.</small></p></div>]]></content:encoded>
								<comments>http://nvware.com/ourblog.php?p=21&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://nvware.com/ourblog.php?tempskin=_rss2&#38;disp=comments&#38;p=21</wfw:commentRss>
		</item>
				<item>
			<title>Fetch Getter Fields</title>
			<link>http://nvware.com/ourblog.php?p=20&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Mon, 18 Oct 2010 07:50:35 +0000</pubDate>			<dc:creator>admin</dc:creator>
			<category domain="alt">JAVA</category>
<category domain="alt">platform</category>
<category domain="main">Reflection</category>			<guid isPermaLink="false">20@http://nvware.com/</guid>
						<description>&lt;p&gt;public static String fetchGetterFields(Object object) {&lt;br /&gt; String fields = &quot;&quot;;&lt;br /&gt; String fieldName;&lt;br /&gt; String firstChar;&lt;br /&gt; Class type = object.getClass();&lt;br /&gt; Method[] methods = type.getDeclaredMethods();&lt;br /&gt; for (int i = 0; i &amp;lt; methods.length; i++) {&lt;br /&gt; try {&lt;br /&gt; String methodName = methods[i].getName();&lt;br /&gt; if (methodName.startsWith(&quot;get&quot;)) {&lt;br /&gt; fieldName=methodName.replaceFirst(&quot;get&quot;, &quot;&quot;)+&quot;,&quot;;&lt;br /&gt; firstChar=fieldName.substring(0,1);&lt;br /&gt; fields+=fieldName.replaceFirst(firstChar,firstChar.toLowerCase());&lt;br /&gt; }&lt;br /&gt; } catch (Throwable e) {&lt;br /&gt; System.err.println(e);&lt;br /&gt; }&lt;br /&gt; } &lt;br /&gt; return fields;&lt;br /&gt; }&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://nvware.com/ourblog.php?p=20&amp;amp;more=1&amp;amp;c=1&amp;amp;tb=1&amp;amp;pb=1&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://nvware.com/&quot;&gt;nvware&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>public static String fetchGetterFields(Object object) {<br /> String fields = "";<br /> String fieldName;<br /> String firstChar;<br /> Class type = object.getClass();<br /> Method[] methods = type.getDeclaredMethods();<br /> for (int i = 0; i &lt; methods.length; i++) {<br /> try {<br /> String methodName = methods[i].getName();<br /> if (methodName.startsWith("get")) {<br /> fieldName=methodName.replaceFirst("get", "")+",";<br /> firstChar=fieldName.substring(0,1);<br /> fields+=fieldName.replaceFirst(firstChar,firstChar.toLowerCase());<br /> }<br /> } catch (Throwable e) {<br /> System.err.println(e);<br /> }<br /> } <br /> return fields;<br /> }</p><div class="item_footer"><p><small><a href="http://nvware.com/ourblog.php?p=20&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1">Original post</a> blogged on <a href="http://nvware.com/">nvware</a>.</small></p></div>]]></content:encoded>
								<comments>http://nvware.com/ourblog.php?p=20&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://nvware.com/ourblog.php?tempskin=_rss2&#38;disp=comments&#38;p=20</wfw:commentRss>
		</item>
				<item>
			<title>String Tokenizer</title>
			<link>http://nvware.com/ourblog.php?p=19&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Mon, 18 Oct 2010 07:45:12 +0000</pubDate>			<dc:creator>admin</dc:creator>
			<category domain="alt">JAVA</category>
<category domain="alt">platform</category>
<category domain="main">util</category>			<guid isPermaLink="false">19@http://nvware.com/</guid>
						<description>&lt;p&gt;public static String[] stringToArray(String wordString, String delim) {&lt;br /&gt; //--- Declare and create a StringTokenizer&lt;br /&gt; StringTokenizer st = new StringTokenizer(wordString, delim);&lt;br /&gt; //--- Create an array which will hold all the tokens.&lt;br /&gt; String[] result = new String[st.countTokens()];&lt;br /&gt; int i = 0;     // index into the next empty array element&lt;br /&gt; //--- Loop, getting each of the tokens&lt;br /&gt; while (st.hasMoreTokens()) {&lt;br /&gt; result[i++] = st.nextToken();&lt;br /&gt; }&lt;br /&gt; return result;&lt;br /&gt; }&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://nvware.com/ourblog.php?p=19&amp;amp;more=1&amp;amp;c=1&amp;amp;tb=1&amp;amp;pb=1&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://nvware.com/&quot;&gt;nvware&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>public static String[] stringToArray(String wordString, String delim) {<br /> //--- Declare and create a StringTokenizer<br /> StringTokenizer st = new StringTokenizer(wordString, delim);<br /> //--- Create an array which will hold all the tokens.<br /> String[] result = new String[st.countTokens()];<br /> int i = 0;     // index into the next empty array element<br /> //--- Loop, getting each of the tokens<br /> while (st.hasMoreTokens()) {<br /> result[i++] = st.nextToken();<br /> }<br /> return result;<br /> }</p><div class="item_footer"><p><small><a href="http://nvware.com/ourblog.php?p=19&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1">Original post</a> blogged on <a href="http://nvware.com/">nvware</a>.</small></p></div>]]></content:encoded>
								<comments>http://nvware.com/ourblog.php?p=19&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://nvware.com/ourblog.php?tempskin=_rss2&#38;disp=comments&#38;p=19</wfw:commentRss>
		</item>
				<item>
			<title>String split</title>
			<link>http://nvware.com/ourblog.php?p=18&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Mon, 18 Oct 2010 07:44:15 +0000</pubDate>			<dc:creator>admin</dc:creator>
			<category domain="alt">JAVA</category>
<category domain="alt">platform</category>
<category domain="main">util</category>			<guid isPermaLink="false">18@http://nvware.com/</guid>
						<description>&lt;p&gt;public static String[] stringToArraySplit(String wordString, String delim) {&lt;br /&gt; String[] starwords = wordString.split (&quot;\\&quot;+delim);&lt;br /&gt; return starwords;&lt;br /&gt; }&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://nvware.com/ourblog.php?p=18&amp;amp;more=1&amp;amp;c=1&amp;amp;tb=1&amp;amp;pb=1&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://nvware.com/&quot;&gt;nvware&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>public static String[] stringToArraySplit(String wordString, String delim) {<br /> String[] starwords = wordString.split ("\\"+delim);<br /> return starwords;<br /> }</p><div class="item_footer"><p><small><a href="http://nvware.com/ourblog.php?p=18&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1">Original post</a> blogged on <a href="http://nvware.com/">nvware</a>.</small></p></div>]]></content:encoded>
								<comments>http://nvware.com/ourblog.php?p=18&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://nvware.com/ourblog.php?tempskin=_rss2&#38;disp=comments&#38;p=18</wfw:commentRss>
		</item>
				<item>
			<title>How can I backup my MySQL database using SSH?</title>
			<link>http://nvware.com/ourblog.php?p=15&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Sat, 19 Jun 2010 06:44:57 +0000</pubDate>			<dc:creator>admin</dc:creator>
			<category domain="main">MySQL</category>			<guid isPermaLink="false">15@http://nvware.com/</guid>
						<description>&lt;p&gt;Shell:~ &amp;gt;mysqldump -h databaeshost -u youruserName -p yourpassword dbName &amp;gt; sqlFile.sql;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://nvware.com/ourblog.php?p=15&amp;amp;more=1&amp;amp;c=1&amp;amp;tb=1&amp;amp;pb=1&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://nvware.com/&quot;&gt;nvware&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Shell:~ &gt;mysqldump -h databaeshost -u youruserName -p yourpassword dbName &gt; sqlFile.sql;</p><div class="item_footer"><p><small><a href="http://nvware.com/ourblog.php?p=15&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1">Original post</a> blogged on <a href="http://nvware.com/">nvware</a>.</small></p></div>]]></content:encoded>
								<comments>http://nvware.com/ourblog.php?p=15&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://nvware.com/ourblog.php?tempskin=_rss2&#38;disp=comments&#38;p=15</wfw:commentRss>
		</item>
				<item>
			<title>Simple Calculator</title>
			<link>http://nvware.com/ourblog.php?p=12&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Sun, 02 May 2010 05:05:52 +0000</pubDate>			<dc:creator>admin</dc:creator>
			<category domain="main">Desktop(Swing)</category>			<guid isPermaLink="false">12@http://nvware.com/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;/site/pages/media/blogs/ourblog/CalcJFrame.java&quot;&gt;CalcJFrame.java&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;import javax.swing.JButton;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author nvware user&lt;br /&gt; */&lt;br /&gt;public class CalcJFrame extends javax.swing.JFrame {&lt;br /&gt;&lt;br /&gt; /** Creates new form CalcJFrame */&lt;br /&gt; public CalcJFrame() {&lt;br /&gt; initComponents();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; /** This method is called from within the constructor to&lt;br /&gt; * initialize the form.&lt;br /&gt; * WARNING: Do NOT modify this code. The content of this method is&lt;br /&gt; * always regenerated by the Form Editor.&lt;br /&gt; */&lt;br /&gt; @SuppressWarnings(&quot;unchecked&quot;)&lt;br /&gt; // &amp;lt;editor-fold defaultstate=&quot;collapsed&quot; desc=&quot;Generated Code&quot;&amp;gt;//GEN-BEGIN:initComponents&lt;br /&gt; private void initComponents() {&lt;br /&gt;&lt;br /&gt; jBtnPlus = new javax.swing.JButton();&lt;br /&gt; jBtn1 = new javax.swing.JButton();&lt;br /&gt; jBtn2 = new javax.swing.JButton();&lt;br /&gt; jBtn3 = new javax.swing.JButton();&lt;br /&gt; jBtn4 = new javax.swing.JButton();&lt;br /&gt; jBtn5 = new javax.swing.JButton();&lt;br /&gt; jBtn6 = new javax.swing.JButton();&lt;br /&gt; jBtn7 = new javax.swing.JButton();&lt;br /&gt; jBtn8 = new javax.swing.JButton();&lt;br /&gt; jBtn0 = new javax.swing.JButton();&lt;br /&gt; jBtnMinus = new javax.swing.JButton();&lt;br /&gt; jBtnMultiplay = new javax.swing.JButton();&lt;br /&gt; jBtnDivide = new javax.swing.JButton();&lt;br /&gt; jBtnEqual = new javax.swing.JButton();&lt;br /&gt; jBtnBackSpace = new javax.swing.JButton();&lt;br /&gt; jBtnClear = new javax.swing.JButton();&lt;br /&gt; jTextField1 = new javax.swing.JTextField();&lt;br /&gt; jBtn9 = new javax.swing.JButton();&lt;br /&gt;&lt;br /&gt; setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);&lt;br /&gt;&lt;br /&gt; jBtnPlus.setText(&quot;*&quot;);&lt;br /&gt; jBtnPlus.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; operationMouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt; jBtnPlus.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {&lt;br /&gt; public void mouseMoved(java.awt.event.MouseEvent evt) {&lt;br /&gt; jBtn9MouseMoved(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jBtn1.setText(&quot;1&quot;);&lt;br /&gt; jBtn1.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; MouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jBtn2.setText(&quot;2&quot;);&lt;br /&gt; jBtn2.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; MouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jBtn3.setText(&quot;3&quot;);&lt;br /&gt; jBtn3.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; MouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jBtn4.setText(&quot;4&quot;);&lt;br /&gt; jBtn4.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; MouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jBtn5.setText(&quot;5&quot;);&lt;br /&gt; jBtn5.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; MouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jBtn6.setText(&quot;6&quot;);&lt;br /&gt; jBtn6.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; MouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jBtn7.setText(&quot;7&quot;);&lt;br /&gt; jBtn7.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; MouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jBtn8.setText(&quot;8&quot;);&lt;br /&gt; jBtn8.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; MouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jBtn0.setText(&quot;0&quot;);&lt;br /&gt; jBtn0.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; MouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jBtnMinus.setText(&quot;-&quot;);&lt;br /&gt; jBtnMinus.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; operationMouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jBtnMultiplay.setText(&quot;+&quot;);&lt;br /&gt; jBtnMultiplay.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; operationMouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt; jBtnMultiplay.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {&lt;br /&gt; public void mouseMoved(java.awt.event.MouseEvent evt) {&lt;br /&gt; jBtn9MouseMoved(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jBtnDivide.setText(&quot;/&quot;);&lt;br /&gt; jBtnDivide.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; operationMouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt; jBtnDivide.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {&lt;br /&gt; public void mouseMoved(java.awt.event.MouseEvent evt) {&lt;br /&gt; jBtn9MouseMoved(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jBtnEqual.setText(&quot;=&quot;);&lt;br /&gt; jBtnEqual.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; operationMouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jBtnBackSpace.setText(&quot;BackSpace&quot;);&lt;br /&gt; jBtnBackSpace.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {&lt;br /&gt; public void mouseMoved(java.awt.event.MouseEvent evt) {&lt;br /&gt; jBtn9MouseMoved(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt; jBtnBackSpace.addActionListener(new java.awt.event.ActionListener() {&lt;br /&gt; public void actionPerformed(java.awt.event.ActionEvent evt) {&lt;br /&gt; jBtnBackSpaceActionPerformed(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jBtnClear.setText(&quot;c&quot;);&lt;br /&gt; jBtnClear.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; operationMouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; jTextField1.setText(&quot;0&quot;);&lt;br /&gt;&lt;br /&gt; jBtn9.setText(&quot;9&quot;);&lt;br /&gt; jBtn9.addMouseListener(new java.awt.event.MouseAdapter() {&lt;br /&gt; public void mouseClicked(java.awt.event.MouseEvent evt) {&lt;br /&gt; MouseClick(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());&lt;br /&gt; getContentPane().setLayout(layout);&lt;br /&gt; layout.setHorizontalGroup(&lt;br /&gt; layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)&lt;br /&gt; .addGroup(layout.createSequentialGroup()&lt;br /&gt; .addContainerGap()&lt;br /&gt; .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 370, javax.swing.GroupLayout.PREFERRED_SIZE)&lt;br /&gt; .addContainerGap(31, Short.MAX_VALUE))&lt;br /&gt; .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()&lt;br /&gt; .addContainerGap()&lt;br /&gt; .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)&lt;br /&gt; .addGroup(layout.createSequentialGroup()&lt;br /&gt; .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)&lt;br /&gt; .addComponent(jBtn7)&lt;br /&gt; .addComponent(jBtn1)&lt;br /&gt; .addComponent(jBtn0))&lt;br /&gt; .addGap(6, 6, 6))&lt;br /&gt; .addGroup(layout.createSequentialGroup()&lt;br /&gt; .addComponent(jBtn4)&lt;br /&gt; .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)))&lt;br /&gt; .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)&lt;br /&gt; .addGroup(layout.createSequentialGroup()&lt;br /&gt; .addComponent(jBtn5)&lt;br /&gt; .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)&lt;br /&gt; .addComponent(jBtn6)&lt;br /&gt; .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)&lt;br /&gt; .addComponent(jBtnMinus))&lt;br /&gt; .addGroup(layout.createSequentialGroup()&lt;br /&gt; .addComponent(jBtn8)&lt;br /&gt; .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)&lt;br /&gt; .addComponent(jBtn9)&lt;br /&gt; .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)&lt;br /&gt; .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)&lt;br /&gt; .addComponent(jBtnPlus)&lt;br /&gt; .addGroup(layout.createSequentialGroup()&lt;br /&gt; .addComponent(jBtnBackSpace)&lt;br /&gt; .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)&lt;br /&gt; .addComponent(jBtnClear))&lt;br /&gt; .addComponent(jBtnDivide)))&lt;br /&gt; .addGroup(layout.createSequentialGroup()&lt;br /&gt; .addComponent(jBtn2)&lt;br /&gt; .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)&lt;br /&gt; .addComponent(jBtn3)&lt;br /&gt; .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)&lt;br /&gt; .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)&lt;br /&gt; .addComponent(jBtnEqual)&lt;br /&gt; .addComponent(jBtnMultiplay))))&lt;br /&gt; .addGap(465, 465, 465))&lt;br /&gt; );&lt;br /&gt; layout.setVerticalGroup(&lt;br /&gt; layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)&lt;br /&gt; .addGroup(layout.createSequentialGroup()&lt;br /&gt; .addContainerGap()&lt;br /&gt; .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)&lt;br /&gt; .addGap(6, 6, 6)&lt;br /&gt; .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)&lt;br /&gt; .addGroup(layout.createSequentialGroup()&lt;br /&gt; .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 43, Short.MAX_VALUE)&lt;br /&gt; .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)&lt;br /&gt; .addComponent(jBtn7)&lt;br /&gt; .addComponent(jBtn8)&lt;br /&gt; .addComponent(jBtn9))&lt;br /&gt; .addGap(15, 15, 15))&lt;br /&gt; .addGroup(layout.createSequentialGroup()&lt;br /&gt; .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)&lt;br /&gt; .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)&lt;br /&gt; .addComponent(jBtnBackSpace)&lt;br /&gt; .addComponent(jBtnClear))&lt;br /&gt; .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)&lt;br /&gt; .addComponent(jBtnDivide)&lt;br /&gt; .addGap(1, 1, 1)&lt;br /&gt; .addComponent(jBtnPlus)))&lt;br /&gt; .addGap(14, 14, 14)&lt;br /&gt; .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)&lt;br /&gt; .addComponent(jBtn5)&lt;br /&gt; .addComponent(jBtn4)&lt;br /&gt; .addComponent(jBtn6)&lt;br /&gt; .addComponent(jBtnMinus))&lt;br /&gt; .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)&lt;br /&gt; .addGroup(layout.createSequentialGroup()&lt;br /&gt; .addGap(40, 40, 40)&lt;br /&gt; .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)&lt;br /&gt; .addComponent(jBtn1)&lt;br /&gt; .addComponent(jBtn2)&lt;br /&gt; .addComponent(jBtn3))&lt;br /&gt; .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)&lt;br /&gt; .addComponent(jBtn0))&lt;br /&gt; .addGroup(layout.createSequentialGroup()&lt;br /&gt; .addGap(18, 18, 18)&lt;br /&gt; .addComponent(jBtnMultiplay)&lt;br /&gt; .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)&lt;br /&gt; .addComponent(jBtnEqual)))&lt;br /&gt; .addGap(86, 86, 86))&lt;br /&gt; );&lt;br /&gt;&lt;br /&gt; java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();&lt;br /&gt; setBounds((screenSize.width-419)/2, (screenSize.height-367)/2, 419, 367);&lt;br /&gt; }// &amp;lt;/editor-fold&amp;gt;//GEN-END:initComponents&lt;br /&gt;&lt;br /&gt; private void jBtn9MouseMoved(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jBtn9MouseMoved&lt;br /&gt; // TODO add your handling code here:&lt;br /&gt; }//GEN-LAST:event_jBtn9MouseMoved&lt;br /&gt;&lt;br /&gt; private void MouseClick(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_MouseClick&lt;br /&gt; // TODO add your handling code here:&lt;br /&gt; JButton jbtn = (JButton) evt.getSource();&lt;br /&gt; if (jTextField1.getText().equals(&quot;0&quot;)) {&lt;br /&gt; jTextField1.setText(&quot;&quot;);&lt;br /&gt; }&lt;br /&gt; if (step != 0) {&lt;br /&gt; jTextField1.setText(&quot;&quot;);&lt;br /&gt; step = 0;&lt;br /&gt; }&lt;br /&gt; jTextField1.setText(jTextField1.getText() + jbtn.getText());&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; }//GEN-LAST:event_MouseClick&lt;br /&gt; public void saveInputNumber(char opOld) {&lt;br /&gt; if (opOld == '+') {&lt;br /&gt; inputNumber = inputNumber + Integer.valueOf(jTextField1.getText());&lt;br /&gt; jTextField1.setText(&quot;&quot; + inputNumber);&lt;br /&gt; opOld = '!';&lt;br /&gt;&lt;br /&gt; } else if (opOld == '-') {&lt;br /&gt; inputNumber = inputNumber - Integer.valueOf(jTextField1.getText());&lt;br /&gt; jTextField1.setText(&quot;&quot; + inputNumber);&lt;br /&gt; opOld = '!';&lt;br /&gt;&lt;br /&gt; } else if (opOld == '*') {&lt;br /&gt; inputNumber = inputNumber * Integer.valueOf(jTextField1.getText());&lt;br /&gt; jTextField1.setText(&quot;&quot; + inputNumber);&lt;br /&gt; opOld = '!';&lt;br /&gt;&lt;br /&gt; } else if (opOld == '/') {&lt;br /&gt; inputNumber = inputNumber / Integer.valueOf(jTextField1.getText());&lt;br /&gt; jTextField1.setText(&quot;&quot; + inputNumber);&lt;br /&gt; opOld = '!';&lt;br /&gt;&lt;br /&gt; } else {&lt;br /&gt; inputNumber = Integer.valueOf(jTextField1.getText());&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt; step += 1;&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt; private void jBtnBackSpaceActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnBackSpaceActionPerformed&lt;br /&gt; // TODO add your handling code here:&lt;br /&gt; }//GEN-LAST:event_jBtnBackSpaceActionPerformed&lt;br /&gt; char opOld = '!';&lt;br /&gt; char op = '!';&lt;br /&gt; int inputNumber = 0;&lt;br /&gt; int step = 0;&lt;br /&gt; private void operationMouseClick(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_operationMouseClick&lt;br /&gt; // TODO add your handling code here:&lt;br /&gt; JButton jbtn = (JButton) evt.getSource();&lt;br /&gt; String opString = jbtn.getText();&lt;br /&gt; &lt;br /&gt; opOld = op;&lt;br /&gt; op = opString.charAt(0);&lt;br /&gt;&lt;br /&gt; switch (op) {&lt;br /&gt; case '/':&lt;br /&gt; saveInputNumber(opOld);&lt;br /&gt; break;&lt;br /&gt; case '*':&lt;br /&gt; saveInputNumber(opOld);&lt;br /&gt; break;&lt;br /&gt; case '+':&lt;br /&gt; saveInputNumber(opOld);&lt;br /&gt; break;&lt;br /&gt; case '-':&lt;br /&gt; saveInputNumber(opOld);&lt;br /&gt; break;&lt;br /&gt; case '=':&lt;br /&gt; saveInputNumber(opOld);&lt;br /&gt; break;&lt;br /&gt; case 'c':&lt;br /&gt; inputNumber = 0;&lt;br /&gt; opOld = '!';&lt;br /&gt; op = '!';&lt;br /&gt; step = 0;&lt;br /&gt; jTextField1.setText(&quot;0&quot;);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; break;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; }//GEN-LAST:event_operationMouseClick&lt;br /&gt;&lt;br /&gt; /**&lt;br /&gt; * @param args the command line arguments&lt;br /&gt; */&lt;br /&gt; public static void main(String args[]) {&lt;br /&gt; java.awt.EventQueue.invokeLater(new Runnable() {&lt;br /&gt;&lt;br /&gt; public void run() {&lt;br /&gt; new CalcJFrame().setVisible(true);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt; }&lt;br /&gt; // Variables declaration - do not modify//GEN-BEGIN:variables&lt;br /&gt; private javax.swing.JButton jBtn0;&lt;br /&gt; private javax.swing.JButton jBtn1;&lt;br /&gt; private javax.swing.JButton jBtn2;&lt;br /&gt; private javax.swing.JButton jBtn3;&lt;br /&gt; private javax.swing.JButton jBtn4;&lt;br /&gt; private javax.swing.JButton jBtn5;&lt;br /&gt; private javax.swing.JButton jBtn6;&lt;br /&gt; private javax.swing.JButton jBtn7;&lt;br /&gt; private javax.swing.JButton jBtn8;&lt;br /&gt; private javax.swing.JButton jBtn9;&lt;br /&gt; private javax.swing.JButton jBtnBackSpace;&lt;br /&gt; private javax.swing.JButton jBtnClear;&lt;br /&gt; private javax.swing.JButton jBtnDivide;&lt;br /&gt; private javax.swing.JButton jBtnEqual;&lt;br /&gt; private javax.swing.JButton jBtnMinus;&lt;br /&gt; private javax.swing.JButton jBtnMultiplay;&lt;br /&gt; private javax.swing.JButton jBtnPlus;&lt;br /&gt; private javax.swing.JTextField jTextField1;&lt;br /&gt; // End of variables declaration//GEN-END:variables&lt;br /&gt;}&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://nvware.com/ourblog.php?p=12&amp;amp;more=1&amp;amp;c=1&amp;amp;tb=1&amp;amp;pb=1&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://nvware.com/&quot;&gt;nvware&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://nvware.com/site/pages/media/blogs/ourblog/CalcJFrame.java">CalcJFrame.java</a></p>
<p>import javax.swing.JButton;<br /><br />/**<br /> *<br /> * @author nvware user<br /> */<br />public class CalcJFrame extends javax.swing.JFrame {<br /><br /> /** Creates new form CalcJFrame */<br /> public CalcJFrame() {<br /> initComponents();<br /> }<br /><br /> /** This method is called from within the constructor to<br /> * initialize the form.<br /> * WARNING: Do NOT modify this code. The content of this method is<br /> * always regenerated by the Form Editor.<br /> */<br /> @SuppressWarnings("unchecked")<br /> // &lt;editor-fold defaultstate="collapsed" desc="Generated Code"&gt;//GEN-BEGIN:initComponents<br /> private void initComponents() {<br /><br /> jBtnPlus = new javax.swing.JButton();<br /> jBtn1 = new javax.swing.JButton();<br /> jBtn2 = new javax.swing.JButton();<br /> jBtn3 = new javax.swing.JButton();<br /> jBtn4 = new javax.swing.JButton();<br /> jBtn5 = new javax.swing.JButton();<br /> jBtn6 = new javax.swing.JButton();<br /> jBtn7 = new javax.swing.JButton();<br /> jBtn8 = new javax.swing.JButton();<br /> jBtn0 = new javax.swing.JButton();<br /> jBtnMinus = new javax.swing.JButton();<br /> jBtnMultiplay = new javax.swing.JButton();<br /> jBtnDivide = new javax.swing.JButton();<br /> jBtnEqual = new javax.swing.JButton();<br /> jBtnBackSpace = new javax.swing.JButton();<br /> jBtnClear = new javax.swing.JButton();<br /> jTextField1 = new javax.swing.JTextField();<br /> jBtn9 = new javax.swing.JButton();<br /><br /> setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);<br /><br /> jBtnPlus.setText("*");<br /> jBtnPlus.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> operationMouseClick(evt);<br /> }<br /> });<br /> jBtnPlus.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {<br /> public void mouseMoved(java.awt.event.MouseEvent evt) {<br /> jBtn9MouseMoved(evt);<br /> }<br /> });<br /><br /> jBtn1.setText("1");<br /> jBtn1.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> MouseClick(evt);<br /> }<br /> });<br /><br /> jBtn2.setText("2");<br /> jBtn2.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> MouseClick(evt);<br /> }<br /> });<br /><br /> jBtn3.setText("3");<br /> jBtn3.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> MouseClick(evt);<br /> }<br /> });<br /><br /> jBtn4.setText("4");<br /> jBtn4.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> MouseClick(evt);<br /> }<br /> });<br /><br /> jBtn5.setText("5");<br /> jBtn5.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> MouseClick(evt);<br /> }<br /> });<br /><br /> jBtn6.setText("6");<br /> jBtn6.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> MouseClick(evt);<br /> }<br /> });<br /><br /> jBtn7.setText("7");<br /> jBtn7.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> MouseClick(evt);<br /> }<br /> });<br /><br /> jBtn8.setText("8");<br /> jBtn8.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> MouseClick(evt);<br /> }<br /> });<br /><br /> jBtn0.setText("0");<br /> jBtn0.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> MouseClick(evt);<br /> }<br /> });<br /><br /> jBtnMinus.setText("-");<br /> jBtnMinus.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> operationMouseClick(evt);<br /> }<br /> });<br /><br /> jBtnMultiplay.setText("+");<br /> jBtnMultiplay.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> operationMouseClick(evt);<br /> }<br /> });<br /> jBtnMultiplay.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {<br /> public void mouseMoved(java.awt.event.MouseEvent evt) {<br /> jBtn9MouseMoved(evt);<br /> }<br /> });<br /><br /> jBtnDivide.setText("/");<br /> jBtnDivide.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> operationMouseClick(evt);<br /> }<br /> });<br /> jBtnDivide.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {<br /> public void mouseMoved(java.awt.event.MouseEvent evt) {<br /> jBtn9MouseMoved(evt);<br /> }<br /> });<br /><br /> jBtnEqual.setText("=");<br /> jBtnEqual.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> operationMouseClick(evt);<br /> }<br /> });<br /><br /> jBtnBackSpace.setText("BackSpace");<br /> jBtnBackSpace.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {<br /> public void mouseMoved(java.awt.event.MouseEvent evt) {<br /> jBtn9MouseMoved(evt);<br /> }<br /> });<br /> jBtnBackSpace.addActionListener(new java.awt.event.ActionListener() {<br /> public void actionPerformed(java.awt.event.ActionEvent evt) {<br /> jBtnBackSpaceActionPerformed(evt);<br /> }<br /> });<br /><br /> jBtnClear.setText("c");<br /> jBtnClear.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> operationMouseClick(evt);<br /> }<br /> });<br /><br /> jTextField1.setText("0");<br /><br /> jBtn9.setText("9");<br /> jBtn9.addMouseListener(new java.awt.event.MouseAdapter() {<br /> public void mouseClicked(java.awt.event.MouseEvent evt) {<br /> MouseClick(evt);<br /> }<br /> });<br /><br /> javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());<br /> getContentPane().setLayout(layout);<br /> layout.setHorizontalGroup(<br /> layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)<br /> .addGroup(layout.createSequentialGroup()<br /> .addContainerGap()<br /> .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 370, javax.swing.GroupLayout.PREFERRED_SIZE)<br /> .addContainerGap(31, Short.MAX_VALUE))<br /> .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()<br /> .addContainerGap()<br /> .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)<br /> .addGroup(layout.createSequentialGroup()<br /> .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)<br /> .addComponent(jBtn7)<br /> .addComponent(jBtn1)<br /> .addComponent(jBtn0))<br /> .addGap(6, 6, 6))<br /> .addGroup(layout.createSequentialGroup()<br /> .addComponent(jBtn4)<br /> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)))<br /> .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)<br /> .addGroup(layout.createSequentialGroup()<br /> .addComponent(jBtn5)<br /> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)<br /> .addComponent(jBtn6)<br /> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)<br /> .addComponent(jBtnMinus))<br /> .addGroup(layout.createSequentialGroup()<br /> .addComponent(jBtn8)<br /> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)<br /> .addComponent(jBtn9)<br /> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)<br /> .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)<br /> .addComponent(jBtnPlus)<br /> .addGroup(layout.createSequentialGroup()<br /> .addComponent(jBtnBackSpace)<br /> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)<br /> .addComponent(jBtnClear))<br /> .addComponent(jBtnDivide)))<br /> .addGroup(layout.createSequentialGroup()<br /> .addComponent(jBtn2)<br /> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)<br /> .addComponent(jBtn3)<br /> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)<br /> .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)<br /> .addComponent(jBtnEqual)<br /> .addComponent(jBtnMultiplay))))<br /> .addGap(465, 465, 465))<br /> );<br /> layout.setVerticalGroup(<br /> layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)<br /> .addGroup(layout.createSequentialGroup()<br /> .addContainerGap()<br /> .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)<br /> .addGap(6, 6, 6)<br /> .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)<br /> .addGroup(layout.createSequentialGroup()<br /> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 43, Short.MAX_VALUE)<br /> .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)<br /> .addComponent(jBtn7)<br /> .addComponent(jBtn8)<br /> .addComponent(jBtn9))<br /> .addGap(15, 15, 15))<br /> .addGroup(layout.createSequentialGroup()<br /> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)<br /> .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)<br /> .addComponent(jBtnBackSpace)<br /> .addComponent(jBtnClear))<br /> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)<br /> .addComponent(jBtnDivide)<br /> .addGap(1, 1, 1)<br /> .addComponent(jBtnPlus)))<br /> .addGap(14, 14, 14)<br /> .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)<br /> .addComponent(jBtn5)<br /> .addComponent(jBtn4)<br /> .addComponent(jBtn6)<br /> .addComponent(jBtnMinus))<br /> .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)<br /> .addGroup(layout.createSequentialGroup()<br /> .addGap(40, 40, 40)<br /> .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)<br /> .addComponent(jBtn1)<br /> .addComponent(jBtn2)<br /> .addComponent(jBtn3))<br /> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)<br /> .addComponent(jBtn0))<br /> .addGroup(layout.createSequentialGroup()<br /> .addGap(18, 18, 18)<br /> .addComponent(jBtnMultiplay)<br /> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)<br /> .addComponent(jBtnEqual)))<br /> .addGap(86, 86, 86))<br /> );<br /><br /> java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();<br /> setBounds((screenSize.width-419)/2, (screenSize.height-367)/2, 419, 367);<br /> }// &lt;/editor-fold&gt;//GEN-END:initComponents<br /><br /> private void jBtn9MouseMoved(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jBtn9MouseMoved<br /> // TODO add your handling code here:<br /> }//GEN-LAST:event_jBtn9MouseMoved<br /><br /> private void MouseClick(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_MouseClick<br /> // TODO add your handling code here:<br /> JButton jbtn = (JButton) evt.getSource();<br /> if (jTextField1.getText().equals("0")) {<br /> jTextField1.setText("");<br /> }<br /> if (step != 0) {<br /> jTextField1.setText("");<br /> step = 0;<br /> }<br /> jTextField1.setText(jTextField1.getText() + jbtn.getText());<br /><br /><br /> }//GEN-LAST:event_MouseClick<br /> public void saveInputNumber(char opOld) {<br /> if (opOld == '+') {<br /> inputNumber = inputNumber + Integer.valueOf(jTextField1.getText());<br /> jTextField1.setText("" + inputNumber);<br /> opOld = '!';<br /><br /> } else if (opOld == '-') {<br /> inputNumber = inputNumber - Integer.valueOf(jTextField1.getText());<br /> jTextField1.setText("" + inputNumber);<br /> opOld = '!';<br /><br /> } else if (opOld == '*') {<br /> inputNumber = inputNumber * Integer.valueOf(jTextField1.getText());<br /> jTextField1.setText("" + inputNumber);<br /> opOld = '!';<br /><br /> } else if (opOld == '/') {<br /> inputNumber = inputNumber / Integer.valueOf(jTextField1.getText());<br /> jTextField1.setText("" + inputNumber);<br /> opOld = '!';<br /><br /> } else {<br /> inputNumber = Integer.valueOf(jTextField1.getText());<br /><br /> }<br /> step += 1;<br /><br /> }<br /> private void jBtnBackSpaceActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnBackSpaceActionPerformed<br /> // TODO add your handling code here:<br /> }//GEN-LAST:event_jBtnBackSpaceActionPerformed<br /> char opOld = '!';<br /> char op = '!';<br /> int inputNumber = 0;<br /> int step = 0;<br /> private void operationMouseClick(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_operationMouseClick<br /> // TODO add your handling code here:<br /> JButton jbtn = (JButton) evt.getSource();<br /> String opString = jbtn.getText();<br /> <br /> opOld = op;<br /> op = opString.charAt(0);<br /><br /> switch (op) {<br /> case '/':<br /> saveInputNumber(opOld);<br /> break;<br /> case '*':<br /> saveInputNumber(opOld);<br /> break;<br /> case '+':<br /> saveInputNumber(opOld);<br /> break;<br /> case '-':<br /> saveInputNumber(opOld);<br /> break;<br /> case '=':<br /> saveInputNumber(opOld);<br /> break;<br /> case 'c':<br /> inputNumber = 0;<br /> opOld = '!';<br /> op = '!';<br /> step = 0;<br /> jTextField1.setText("0");<br /><br /><br /> break;<br /> }<br /><br /><br /><br /> }//GEN-LAST:event_operationMouseClick<br /><br /> /**<br /> * @param args the command line arguments<br /> */<br /> public static void main(String args[]) {<br /> java.awt.EventQueue.invokeLater(new Runnable() {<br /><br /> public void run() {<br /> new CalcJFrame().setVisible(true);<br /> }<br /> });<br /> }<br /> // Variables declaration - do not modify//GEN-BEGIN:variables<br /> private javax.swing.JButton jBtn0;<br /> private javax.swing.JButton jBtn1;<br /> private javax.swing.JButton jBtn2;<br /> private javax.swing.JButton jBtn3;<br /> private javax.swing.JButton jBtn4;<br /> private javax.swing.JButton jBtn5;<br /> private javax.swing.JButton jBtn6;<br /> private javax.swing.JButton jBtn7;<br /> private javax.swing.JButton jBtn8;<br /> private javax.swing.JButton jBtn9;<br /> private javax.swing.JButton jBtnBackSpace;<br /> private javax.swing.JButton jBtnClear;<br /> private javax.swing.JButton jBtnDivide;<br /> private javax.swing.JButton jBtnEqual;<br /> private javax.swing.JButton jBtnMinus;<br /> private javax.swing.JButton jBtnMultiplay;<br /> private javax.swing.JButton jBtnPlus;<br /> private javax.swing.JTextField jTextField1;<br /> // End of variables declaration//GEN-END:variables<br />}</p><div class="item_footer"><p><small><a href="http://nvware.com/ourblog.php?p=12&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1">Original post</a> blogged on <a href="http://nvware.com/">nvware</a>.</small></p></div>]]></content:encoded>
								<comments>http://nvware.com/ourblog.php?p=12&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://nvware.com/ourblog.php?tempskin=_rss2&#38;disp=comments&#38;p=12</wfw:commentRss>
		</item>
				<item>
			<title>TextClock - Timer -JProgressBar</title>
			<link>http://nvware.com/ourblog.php?p=11&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Sun, 02 May 2010 05:04:02 +0000</pubDate>			<dc:creator>admin</dc:creator>
			<category domain="main">Desktop(Swing)</category>			<guid isPermaLink="false">11@http://nvware.com/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;/site/pages/media/blogs/ourblog/TextClock.java&quot;&gt;TextClock.java&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;import java.awt.*;&lt;br /&gt;import java.awt.event.*;&lt;br /&gt;import javax.swing.*;&lt;br /&gt;&lt;br /&gt;import java.util.Calendar;      // only need this one class&lt;br /&gt;&lt;br /&gt;/// TextClock&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author nvware user&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;public class TextClock {&lt;br /&gt;&lt;br /&gt;// start main&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt; JFrame clock = new TextClockWindow();&lt;br /&gt; clock.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt; clock.setVisible(true);&lt;br /&gt; }//end main&lt;br /&gt;}//endclass TextClock&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;////// TextClockWindow&lt;br /&gt;class TextClockWindow extends JFrame {&lt;br /&gt;&lt;br /&gt;//instance variables&lt;br /&gt; private JTextField timeField1;  // set by timer listener&lt;br /&gt; private JTextField timeField2;  // set by timer listener&lt;br /&gt; private JProgressBar progressBar;&lt;br /&gt;&lt;br /&gt;//constructor&lt;br /&gt; public TextClockWindow() {&lt;br /&gt; // Build the GUI - only one panel&lt;br /&gt; timeField1 = new JTextField(16);&lt;br /&gt; timeField1.setFont(new Font(&quot;sansserif&quot;, Font.PLAIN,28));&lt;br /&gt; timeField2 = new JTextField(16);&lt;br /&gt; timeField2.setFont(new Font(&quot;sansserif&quot;, Font.PLAIN,28));&lt;br /&gt; progressBar = new JProgressBar();&lt;br /&gt;&lt;br /&gt; Container content = this.getContentPane();&lt;br /&gt; content.setLayout(new FlowLayout());&lt;br /&gt; content.add(timeField1);&lt;br /&gt; content.add(timeField2);&lt;br /&gt; content.add(progressBar);&lt;br /&gt;&lt;br /&gt; this.setTitle(&quot;Text Clock&quot;);&lt;br /&gt; this.pack();&lt;br /&gt;&lt;br /&gt; // Create a 1-second timer and action listener for it.&lt;br /&gt; // Specify package because there are two Timer classes&lt;br /&gt; // javax.swing.Timer t = new javax.swing.Timer(5,new MyActionListener(timeField));&lt;br /&gt; &lt;br /&gt; Timer t = new Timer(10,null);&lt;br /&gt; t.addActionListener(&lt;br /&gt; new ActionListener() {&lt;br /&gt; public void actionPerformed(ActionEvent e) {&lt;br /&gt; Calendar now = Calendar.getInstance();&lt;br /&gt; int h = now.get(Calendar.HOUR_OF_DAY);&lt;br /&gt; int m = now.get(Calendar.MINUTE);&lt;br /&gt; int s = now.get(Calendar.SECOND);&lt;br /&gt; timeField1.setText(&quot;&quot; + h + &quot;:&quot; + m + &quot;:&quot; + s);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt; &lt;br /&gt; t.addActionListener(new MyActionListener(timeField2));&lt;br /&gt; t.addActionListener(new JProgressBarActionListener(progressBar));&lt;br /&gt; t.start();  // Start the timer&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; }//end constructor&lt;br /&gt;}//endclass TextClockWindow&lt;br /&gt;&lt;br /&gt;class MyActionListener implements ActionListener {&lt;br /&gt;&lt;br /&gt; private JTextField timeField;&lt;br /&gt;&lt;br /&gt; public MyActionListener(JTextField t) {&lt;br /&gt; timeField = t;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void actionPerformed(ActionEvent e) {&lt;br /&gt; Calendar now = Calendar.getInstance();&lt;br /&gt; int h = now.get(Calendar.HOUR_OF_DAY);&lt;br /&gt; int m = now.get(Calendar.MINUTE);&lt;br /&gt; int s = now.get(Calendar.SECOND);&lt;br /&gt; int ms=now.get(Calendar.MILLISECOND);&lt;br /&gt; timeField.setText(&quot;&quot; + h + &quot;:&quot; + m + &quot;:&quot; + s+&quot;:&quot;+ms);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;class JProgressBarActionListener implements ActionListener {&lt;br /&gt;&lt;br /&gt; private JProgressBar progressBar;&lt;br /&gt;&lt;br /&gt; public JProgressBarActionListener(JProgressBar progressBar1) {&lt;br /&gt; this.progressBar =progressBar1 ;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void actionPerformed(ActionEvent e) {&lt;br /&gt; progressBar.setValue( progressBar.getValue()+1);&lt;br /&gt; if(progressBar.getValue()&amp;gt;=progressBar.getMaximum())&lt;br /&gt; ((Timer)e.getSource()).stop();&lt;br /&gt; }&lt;br /&gt;}&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://nvware.com/ourblog.php?p=11&amp;amp;more=1&amp;amp;c=1&amp;amp;tb=1&amp;amp;pb=1&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://nvware.com/&quot;&gt;nvware&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://nvware.com/site/pages/media/blogs/ourblog/TextClock.java">TextClock.java</a></p>
<p>import java.awt.*;<br />import java.awt.event.*;<br />import javax.swing.*;<br /><br />import java.util.Calendar;      // only need this one class<br /><br />/// TextClock<br />/**<br /> *<br /> * @author nvware user<br /> */<br /><br />public class TextClock {<br /><br />// start main<br /> public static void main(String[] args) {<br /> JFrame clock = new TextClockWindow();<br /> clock.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br /> clock.setVisible(true);<br /> }//end main<br />}//endclass TextClock<br /><br /><br />////// TextClockWindow<br />class TextClockWindow extends JFrame {<br /><br />//instance variables<br /> private JTextField timeField1;  // set by timer listener<br /> private JTextField timeField2;  // set by timer listener<br /> private JProgressBar progressBar;<br /><br />//constructor<br /> public TextClockWindow() {<br /> // Build the GUI - only one panel<br /> timeField1 = new JTextField(16);<br /> timeField1.setFont(new Font("sansserif", Font.PLAIN,28));<br /> timeField2 = new JTextField(16);<br /> timeField2.setFont(new Font("sansserif", Font.PLAIN,28));<br /> progressBar = new JProgressBar();<br /><br /> Container content = this.getContentPane();<br /> content.setLayout(new FlowLayout());<br /> content.add(timeField1);<br /> content.add(timeField2);<br /> content.add(progressBar);<br /><br /> this.setTitle("Text Clock");<br /> this.pack();<br /><br /> // Create a 1-second timer and action listener for it.<br /> // Specify package because there are two Timer classes<br /> // javax.swing.Timer t = new javax.swing.Timer(5,new MyActionListener(timeField));<br /> <br /> Timer t = new Timer(10,null);<br /> t.addActionListener(<br /> new ActionListener() {<br /> public void actionPerformed(ActionEvent e) {<br /> Calendar now = Calendar.getInstance();<br /> int h = now.get(Calendar.HOUR_OF_DAY);<br /> int m = now.get(Calendar.MINUTE);<br /> int s = now.get(Calendar.SECOND);<br /> timeField1.setText("" + h + ":" + m + ":" + s);<br /> }<br /> });<br /> <br /> t.addActionListener(new MyActionListener(timeField2));<br /> t.addActionListener(new JProgressBarActionListener(progressBar));<br /> t.start();  // Start the timer<br /><br /><br /> }//end constructor<br />}//endclass TextClockWindow<br /><br />class MyActionListener implements ActionListener {<br /><br /> private JTextField timeField;<br /><br /> public MyActionListener(JTextField t) {<br /> timeField = t;<br /> }<br /><br /> public void actionPerformed(ActionEvent e) {<br /> Calendar now = Calendar.getInstance();<br /> int h = now.get(Calendar.HOUR_OF_DAY);<br /> int m = now.get(Calendar.MINUTE);<br /> int s = now.get(Calendar.SECOND);<br /> int ms=now.get(Calendar.MILLISECOND);<br /> timeField.setText("" + h + ":" + m + ":" + s+":"+ms);<br /> }<br />}<br />class JProgressBarActionListener implements ActionListener {<br /><br /> private JProgressBar progressBar;<br /><br /> public JProgressBarActionListener(JProgressBar progressBar1) {<br /> this.progressBar =progressBar1 ;<br /> }<br /><br /> public void actionPerformed(ActionEvent e) {<br /> progressBar.setValue( progressBar.getValue()+1);<br /> if(progressBar.getValue()&gt;=progressBar.getMaximum())<br /> ((Timer)e.getSource()).stop();<br /> }<br />}</p><div class="item_footer"><p><small><a href="http://nvware.com/ourblog.php?p=11&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1">Original post</a> blogged on <a href="http://nvware.com/">nvware</a>.</small></p></div>]]></content:encoded>
								<comments>http://nvware.com/ourblog.php?p=11&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://nvware.com/ourblog.php?tempskin=_rss2&#38;disp=comments&#38;p=11</wfw:commentRss>
		</item>
				<item>
			<title>Simple Paint 1</title>
			<link>http://nvware.com/ourblog.php?p=10&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Sun, 02 May 2010 04:55:01 +0000</pubDate>			<dc:creator>admin</dc:creator>
			<category domain="main">2D</category>			<guid isPermaLink="false">10@http://nvware.com/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;/site/pages/media/blogs/ourblog/GraphicsShowJFrame.java&quot;&gt;GraphicsShowJFrame.java&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;import java.awt.Color;&lt;br /&gt;import java.awt.Graphics;&lt;br /&gt;import java.awt.Graphics2D;&lt;br /&gt;import java.awt.Image;&lt;br /&gt;import java.awt.Paint;&lt;br /&gt;import java.awt.Shape;&lt;br /&gt;import javax.swing.JColorChooser;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author nvware user&lt;br /&gt; */&lt;br /&gt;public class GraphicsShowJFrame extends javax.swing.JFrame {&lt;br /&gt;&lt;br /&gt; /** Creates new form GraphicsShowJFrame */&lt;br /&gt; public GraphicsShowJFrame() {&lt;br /&gt; initComponents();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; /** This method is called from within the constructor to&lt;br /&gt; * initialize the form.&lt;br /&gt; * WARNING: Do NOT modify this code. The content of this method is&lt;br /&gt; * always regenerated by the Form Editor.&lt;br /&gt; */&lt;br /&gt; @SuppressWarnings(&quot;unchecked&quot;)&lt;br /&gt; // &amp;lt;editor-fold defaultstate=&quot;collapsed&quot; desc=&quot;Generated Code&quot;&amp;gt;//GEN-BEGIN:initComponents&lt;br /&gt; private void initComponents() {&lt;br /&gt;&lt;br /&gt; jPanel1 = new javax.swing.JPanel();&lt;br /&gt; jBtnColor = new javax.swing.JButton();&lt;br /&gt;&lt;br /&gt; setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);&lt;br /&gt; setTitle(&quot;Graphics Show&quot;);&lt;br /&gt;&lt;br /&gt; jPanel1.setBackground(new java.awt.Color(255, 255, 255));&lt;br /&gt; jPanel1.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {&lt;br /&gt; public void mouseMoved(java.awt.event.MouseEvent evt) {&lt;br /&gt; jPanel1MouseMoved(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);&lt;br /&gt; jPanel1.setLayout(jPanel1Layout);&lt;br /&gt; jPanel1Layout.setHorizontalGroup(&lt;br /&gt; jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)&lt;br /&gt; .addGap(0, 451, Short.MAX_VALUE)&lt;br /&gt; );&lt;br /&gt; jPanel1Layout.setVerticalGroup(&lt;br /&gt; jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)&lt;br /&gt; .addGap(0, 354, Short.MAX_VALUE)&lt;br /&gt; );&lt;br /&gt;&lt;br /&gt; jBtnColor.setText(&quot;Color&quot;);&lt;br /&gt; jBtnColor.addActionListener(new java.awt.event.ActionListener() {&lt;br /&gt; public void actionPerformed(java.awt.event.ActionEvent evt) {&lt;br /&gt; jBtnColorActionPerformed(evt);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());&lt;br /&gt; getContentPane().setLayout(layout);&lt;br /&gt; layout.setHorizontalGroup(&lt;br /&gt; layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)&lt;br /&gt; .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()&lt;br /&gt; .addContainerGap(99, Short.MAX_VALUE)&lt;br /&gt; .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)&lt;br /&gt; .addGap(57, 57, 57))&lt;br /&gt; .addGroup(layout.createSequentialGroup()&lt;br /&gt; .addGap(20, 20, 20)&lt;br /&gt; .addComponent(jBtnColor)&lt;br /&gt; .addContainerGap(530, Short.MAX_VALUE))&lt;br /&gt; );&lt;br /&gt; layout.setVerticalGroup(&lt;br /&gt; layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)&lt;br /&gt; .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()&lt;br /&gt; .addContainerGap(26, Short.MAX_VALUE)&lt;br /&gt; .addComponent(jBtnColor)&lt;br /&gt; .addGap(18, 18, 18)&lt;br /&gt; .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)&lt;br /&gt; .addGap(51, 51, 51))&lt;br /&gt; );&lt;br /&gt;&lt;br /&gt; pack();&lt;br /&gt; }// &amp;lt;/editor-fold&amp;gt;//GEN-END:initComponents&lt;br /&gt; Shape s;&lt;br /&gt; Graphics gPanel;&lt;br /&gt; Image img;&lt;br /&gt; Graphics gImg;&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; public void paint(Graphics gFrame) {&lt;br /&gt; super.paint(gFrame);&lt;br /&gt; gPanel.drawImage(img, 0, 0, jPanel1);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; private void jPanel1MouseMoved(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel1MouseMoved&lt;br /&gt; // TODO add your handling code here:&lt;br /&gt;&lt;br /&gt; if (gPanel == null) {&lt;br /&gt; gPanel = jPanel1.getGraphics();&lt;br /&gt; img = jPanel1.createImage(jPanel1.getWidth(), jPanel1.getHeight());&lt;br /&gt; gImg = img.getGraphics();&lt;br /&gt; gImg.setColor(jPanel1.getBackground());&lt;br /&gt; gImg.fillRect(0, 0, jPanel1.getWidth(), jPanel1.getHeight());&lt;br /&gt; &lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; int x = evt.getPoint().x;&lt;br /&gt; int y = evt.getPoint().y;&lt;br /&gt;&lt;br /&gt; gImg.setColor(color1);&lt;br /&gt; gImg.fillOval(x - 3, y - 3, 6, 6);&lt;br /&gt; gPanel.drawImage(img, 0, 0, jPanel1);&lt;br /&gt; //g.setColor(jColorChooser1.getColor());&lt;br /&gt;&lt;br /&gt; }//GEN-LAST:event_jPanel1MouseMoved&lt;br /&gt; JColorChooser jColorChooser1 = new JColorChooser();&lt;br /&gt; Color color1 = Color.black;&lt;br /&gt; private void jBtnColorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnColorActionPerformed&lt;br /&gt; color1 = jColorChooser1.showDialog(rootPane, &quot;Color Chooser&quot;, color1);&lt;br /&gt; }//GEN-LAST:event_jBtnColorActionPerformed&lt;br /&gt;&lt;br /&gt; /**&lt;br /&gt; * @param args the command line arguments&lt;br /&gt; */&lt;br /&gt; public static void main(String args[]) {&lt;br /&gt; java.awt.EventQueue.invokeLater(new Runnable() {&lt;br /&gt;&lt;br /&gt; public void run() {&lt;br /&gt; new GraphicsShowJFrame().setVisible(true);&lt;br /&gt; }&lt;br /&gt; });&lt;br /&gt; }&lt;br /&gt; // Variables declaration - do not modify//GEN-BEGIN:variables&lt;br /&gt; private javax.swing.JButton jBtnColor;&lt;br /&gt; private javax.swing.JPanel jPanel1;&lt;br /&gt; // End of variables declaration//GEN-END:variables&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://nvware.com/ourblog.php?p=10&amp;amp;more=1&amp;amp;c=1&amp;amp;tb=1&amp;amp;pb=1&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://nvware.com/&quot;&gt;nvware&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://nvware.com/site/pages/media/blogs/ourblog/GraphicsShowJFrame.java">GraphicsShowJFrame.java</a></p>
<p>import java.awt.Color;<br />import java.awt.Graphics;<br />import java.awt.Graphics2D;<br />import java.awt.Image;<br />import java.awt.Paint;<br />import java.awt.Shape;<br />import javax.swing.JColorChooser;<br /><br />/**<br /> *<br /> * @author nvware user<br /> */<br />public class GraphicsShowJFrame extends javax.swing.JFrame {<br /><br /> /** Creates new form GraphicsShowJFrame */<br /> public GraphicsShowJFrame() {<br /> initComponents();<br /> }<br /><br /> /** This method is called from within the constructor to<br /> * initialize the form.<br /> * WARNING: Do NOT modify this code. The content of this method is<br /> * always regenerated by the Form Editor.<br /> */<br /> @SuppressWarnings("unchecked")<br /> // &lt;editor-fold defaultstate="collapsed" desc="Generated Code"&gt;//GEN-BEGIN:initComponents<br /> private void initComponents() {<br /><br /> jPanel1 = new javax.swing.JPanel();<br /> jBtnColor = new javax.swing.JButton();<br /><br /> setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);<br /> setTitle("Graphics Show");<br /><br /> jPanel1.setBackground(new java.awt.Color(255, 255, 255));<br /> jPanel1.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {<br /> public void mouseMoved(java.awt.event.MouseEvent evt) {<br /> jPanel1MouseMoved(evt);<br /> }<br /> });<br /><br /> javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);<br /> jPanel1.setLayout(jPanel1Layout);<br /> jPanel1Layout.setHorizontalGroup(<br /> jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)<br /> .addGap(0, 451, Short.MAX_VALUE)<br /> );<br /> jPanel1Layout.setVerticalGroup(<br /> jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)<br /> .addGap(0, 354, Short.MAX_VALUE)<br /> );<br /><br /> jBtnColor.setText("Color");<br /> jBtnColor.addActionListener(new java.awt.event.ActionListener() {<br /> public void actionPerformed(java.awt.event.ActionEvent evt) {<br /> jBtnColorActionPerformed(evt);<br /> }<br /> });<br /><br /> javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());<br /> getContentPane().setLayout(layout);<br /> layout.setHorizontalGroup(<br /> layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)<br /> .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()<br /> .addContainerGap(99, Short.MAX_VALUE)<br /> .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)<br /> .addGap(57, 57, 57))<br /> .addGroup(layout.createSequentialGroup()<br /> .addGap(20, 20, 20)<br /> .addComponent(jBtnColor)<br /> .addContainerGap(530, Short.MAX_VALUE))<br /> );<br /> layout.setVerticalGroup(<br /> layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)<br /> .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()<br /> .addContainerGap(26, Short.MAX_VALUE)<br /> .addComponent(jBtnColor)<br /> .addGap(18, 18, 18)<br /> .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)<br /> .addGap(51, 51, 51))<br /> );<br /><br /> pack();<br /> }// &lt;/editor-fold&gt;//GEN-END:initComponents<br /> Shape s;<br /> Graphics gPanel;<br /> Image img;<br /> Graphics gImg;<br /><br /> @Override<br /> public void paint(Graphics gFrame) {<br /> super.paint(gFrame);<br /> gPanel.drawImage(img, 0, 0, jPanel1);<br /> }<br /><br /> private void jPanel1MouseMoved(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel1MouseMoved<br /> // TODO add your handling code here:<br /><br /> if (gPanel == null) {<br /> gPanel = jPanel1.getGraphics();<br /> img = jPanel1.createImage(jPanel1.getWidth(), jPanel1.getHeight());<br /> gImg = img.getGraphics();<br /> gImg.setColor(jPanel1.getBackground());<br /> gImg.fillRect(0, 0, jPanel1.getWidth(), jPanel1.getHeight());<br /> <br /> }<br /><br /> int x = evt.getPoint().x;<br /> int y = evt.getPoint().y;<br /><br /> gImg.setColor(color1);<br /> gImg.fillOval(x - 3, y - 3, 6, 6);<br /> gPanel.drawImage(img, 0, 0, jPanel1);<br /> //g.setColor(jColorChooser1.getColor());<br /><br /> }//GEN-LAST:event_jPanel1MouseMoved<br /> JColorChooser jColorChooser1 = new JColorChooser();<br /> Color color1 = Color.black;<br /> private void jBtnColorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnColorActionPerformed<br /> color1 = jColorChooser1.showDialog(rootPane, "Color Chooser", color1);<br /> }//GEN-LAST:event_jBtnColorActionPerformed<br /><br /> /**<br /> * @param args the command line arguments<br /> */<br /> public static void main(String args[]) {<br /> java.awt.EventQueue.invokeLater(new Runnable() {<br /><br /> public void run() {<br /> new GraphicsShowJFrame().setVisible(true);<br /> }<br /> });<br /> }<br /> // Variables declaration - do not modify//GEN-BEGIN:variables<br /> private javax.swing.JButton jBtnColor;<br /> private javax.swing.JPanel jPanel1;<br /> // End of variables declaration//GEN-END:variables<br />}</p>
<p> </p><div class="item_footer"><p><small><a href="http://nvware.com/ourblog.php?p=10&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1">Original post</a> blogged on <a href="http://nvware.com/">nvware</a>.</small></p></div>]]></content:encoded>
								<comments>http://nvware.com/ourblog.php?p=10&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://nvware.com/ourblog.php?tempskin=_rss2&#38;disp=comments&#38;p=10</wfw:commentRss>
		</item>
			</channel>
</rss>

