在JTable中維護jtable單元格渲染後,在JTable中,在JTable中實現自定義單元格渲染和編輯功能可以增強用戶體驗。但是,至關重要的是要確保即使在編輯操作後也保留所需的格式。
在設置自定義單元格之後。在這種情況下,在提交編輯後可能不會應用單元格渲染器的默認值。 解決方案附加註意事項
ExampleThe following code snippet provides an example implementation that demonstrates how to format currency values as numbers in JTable cells.自定義渲染器(CurrencyRenderer)處理貨幣格式,而自定義編輯器(CurrencyEditor)允許用戶在維護格式的同時編輯值。 [&& && && &&&&&&&&&&&&&&&&&&&& java.ava.awt.component; 導入java.awt.event.mouseevent; 導入java.text.numberformat; 導入javax.swing.defaultcelleditor; 導入javax.swing.jtable; 導入javax.swing.jtextfield; 導入javax.swing.table.defaultTableCelleRenderer; //用於貨幣格式的自定義單元渲染器 公共類Chrurnrenderer擴展了DefaultTableCellRenderer { 私人編號格式化; public CurrencyRenderer(NumberFormat Formatter){ this.formatter = formatter; Sethorizontalalailmign(jlabel.rigrt); } @Override public void setValue(對象值){ setText((value == null)?”:“:formatter.format(value)); } } //貨幣輸入的自定義單元編輯器,維護格式 公共類貨幣Ededitor擴展了DefaultCelleditor { 私人編號格式化; 私人jtextfield Textfield; public CurrencyEditor(NumberFormat Formatter){ Super(new Jtextfield()); this.formatter = formatter; textfield =(jtextfield)getComponent(); textfield.sethorizontalalagignment(jtextfield.right); textfield.setborder(null); } @Override 公共對象getCelleditorValue(){ 嘗試 { 返回新的double(textfield.getText()); } catch(numberFormateXception e){ 返回double.valueof(0); } } @Override 公共組件getTableCelleDitorComponent(jtable表, 對象值,布爾值,int low,int列){ textfield.setText((value == null) ? “”:formatter.format((double)value)); 返回textfield; } } [&& && && && && &&華,通過合併這些技術,開發人員可以確保自定義的單元格渲染和編輯功能在JTable中無縫工作,從而提供一致且用戶友好的數據操作經驗。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3