java列印添加複選框圖標,java列印添加複選框圖標不見了

本文目錄一覽:

用Java里的checkbox怎麼添加一個複選框,要詳細代碼,只要一個複選框!回答的好有追分!

一個嗎?

JCheckBox cb=new JCheckBox(“客戶”);

frame.add(cb); 這是一個的

如果你要增加幾個就add幾個

這個「客戶」就是你那個複選框的名字 這裡的JCheckBox是CheckBox的升級版

CheckBox也可以這麼用

java swing如何在JTable一個單元格添加多個複選框

java swing中在jTable中添加多個複選框的方式如下:

import java.awt.Component;

 import java.awt.event.ActionEvent;

 import java.awt.event.ActionListener;

 

 import javax.swing.*;

 import javax.swing.table.*;

 

 

 public class MyFirstJFrame extends JFrame {

     

     // 作為測試的main方法

     public static void main(String[] args) {

         new MyFirstJFrame().setVisible(true);

     }

     

     /**

      * 構造方法

      */

     public MyFirstJFrame() {

         InitialComponent();

     }

     

     /**

      * 初始化組件的方法

      */

     private void InitialComponent(){

         // 設置窗體參數

 

         // 設置布局模式

          setLayout(null);

         // 設置窗體大小

         setSize(480, 360);

         // 設置窗體居中(非常規方法)

          setLocationRelativeTo(null);

         // 關閉窗體退出程序

         setDefaultCloseOperation(DISPOSE_ON_CLOSE);

         

         // 初始化面板

         panel = new JPanel();

         panel.setSize(this.getWidth(), this.getHeight());

         panel.setLocation(0,0);

         panel.setLayout(null);

         

         // 初始化表格

         table = new JTable(new DefaultTableModel(new Object[][]{{“第一行”},{“第二行”},{“第三行”},{“第四行”}}, new String[]{“測試行1″,”測試行2”}){

             /* (non-Javadoc)

              * 重寫方法,判斷表單元格是否可編輯

              * 可以通過row和column索引判斷某一個單元格是否可編輯

              * 此處設為都不可編輯

              * @see javax.swing.table.DefaultTableModel#isCellEditable(int, int)

              */

             @Override

             public boolean isCellEditable(int row, int column) {

                 return false;

             }

         });

         

         // 開始向表格中添加複選框(注意:此示例較為簡單,預設很多判斷,也沒有動態代碼支持)

         // 通過設置列渲染

         

         // 方法一:直接方式 使用TableColumn的setCellRenderer方法(推薦)

         // 此方法可以設置某一列的渲染(即使用某一個組件–即控制項來顯示單元格數據)

         table.getColumnModel().getColumn(1).setCellRenderer(new TableCellRenderer(){

 

              /*(non-Javadoc)

              * 此方法用於向方法調用者返回某一單元格的渲染器(即顯示數據的組建–或控制項)

              * 可以為JCheckBox JComboBox JTextArea 等

              * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)

              */

             @Override

             public Component getTableCellRendererComponent(JTable table,

                     Object value, boolean isSelected, boolean hasFocus,

                     int row, int column) {

                 // 創建用於返回的渲染組件

                 JCheckBox ck = new JCheckBox();

                 // 使具有焦點的行對應的複選框選中

                 ck.setSelected(isSelected);

                 // 設置單選box.setSelected(hasFocus);

                 // 使複選框在單元格內居中顯示

                 ck.setHorizontalAlignment((int) 0.5f);

                 return ck;

             }});

         

         // 方法二:先設置列編輯器,然後設置單元格渲染

         // 設置列編輯器

         // 在以複選框為對象設置列編輯器時,必須保證該列能夠被編輯,否則無法更改狀態

         // (此步驟可以省略,省略時不要忘記將列設為不可編輯)

         // table.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(new JCheckBox()));

         

         // 設置單元格渲染(這裡是設置表格級別的渲染)

         /*table.setDefaultRenderer(Object.class, new TableCellRenderer(){

 

             @Override

             public Component getTableCellRendererComponent(JTable table,

                     Object value, boolean isSelected, boolean hasFocus,

                     int row, int column) {

                 // 判斷是否為需要渲染的列

                 if(column == 1){

                     // 和方法一基本一致

                     JCheckBox box = new JCheckBox();

                     box.setSelected(isSelected);

                     // 設置單選box.setSelected(hasFocus);

                     box.setHorizontalAlignment((int) CENTER_ALIGNMENT);    // 0.5f

                     return box;

                     }

                 // 如果不是需要渲染的列,封裝文本域顯示數據

                 return new JTextArea(value.toString());

             }});*/

         

         // 在多選是需要按住Ctrl鍵或者滑鼠按住拖過連續的需要選中的行,應該給用戶說明

         // 第一種方法是被推薦的,因為它具有選中的高亮顯示,界面能更加友好

         table.setSize(panel.getWidth(),panel.getHeight() – 90);

         table.setLocation(0, 0);

         

         

         btn = new JButton(“Test”);

         btn.setSize(80,40);

         btn.setLocation((panel.getWidth()) / 2 – 40, panel.getHeight() – 80);

         

         // 按鈕點擊時顯示當前選中項

         btn.addActionListener(new ActionListener(){

 

             @Override

             public void actionPerformed(ActionEvent e) {

                 for(int rowindex : table.getSelectedRows()){

                     JOptionPane.showMessageDialog(null, rowindex + ” ” + table.getValueAt(rowindex, 0));

                 }

             }});

         

         panel.add(table);

         panel.add(btn);

         this.add(panel);    

         

     }

     

     // 定義一些必要的組件

     private JPanel panel;

     private JTable table;

     private JButton btn;

 }

用java怎麼才能在表格中加入複選框

先得有個表單,就是form,然後再form裡面加上複選框checkbox。

form action=”xxxx” method=”post”

input type=”checkbox” name=”checkbox1″ /複選框1br/

input type=”checkbox” name=”checkbox2″ /複選框2br/

input type=”checkbox” name=”checkbox3″ /複選框3br/

input type=”checkbox” name=”checkbox4″ /複選框4br/

……

/form

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/186250.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-27 05:45
下一篇 2024-11-27 05:45

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論