是java應用程序還是jsp啊?
成都創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站建設與策劃設計,吳起網(wǎng)站建設哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設10年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:吳起等地區(qū)。吳起做網(wǎng)站價格咨詢:028-86922220
java應用程序的話swing和swt中都有復選框,動態(tài)生成一組復選框保存到數(shù)組里,然后就可以使用了,在保存是遍歷數(shù)組里的復選框查看選中狀態(tài)。
import javax.swing.*;
import java.awt.*;
public class test extends JFrame{
public test(){
JButton button; //按鈕
JLabel label; //標簽
JComboBox combobox;//下拉菜單
JCheckBox checkbox;//復選框
JRadioButton radiobutton;//單選框
JTextField textfield;//文本框
button = new JButton("按鈕");
label = new JLabel("標簽:");
checkbox = new JCheckBox("復選框一");
radiobutton = new JRadioButton("單選框一");
combobox = new JComboBox();
textfield = new JTextField(100);
Container c = this.getContentPane();
c.setLayout(new FlowLayout());
c.add(button);
c.add(label);
c.add(checkbox);
c.add(radiobutton);
combobox.addItem("1");
combobox.addItem("2");
c.add(combobox);
c.add(textfield);
setSize(300, 200);
setVisible(true);
}
public static void main(String[] args) {
// TODO 自動生成方法存根
test mytest = new test();
}
}
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(){
//?設置窗體參數(shù)
//?設置布局模式
setLayout(null);
//?設置窗體大小
setSize(480,?360);
//?設置窗體居中(非常規(guī)方法)
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;
}
});
//?開始向表格中添加復選框(注意:此示例較為簡單,缺省很多判斷,也沒有動態(tài)代碼支持)
//?通過設置列渲染
//?方法一:直接方式?使用TableColumn的setCellRenderer方法(推薦)
//?此方法可以設置某一列的渲染(即使用某一個組件--即控件來顯示單元格數(shù)據(jù))
table.getColumnModel().getColumn(1).setCellRenderer(new?TableCellRenderer(){
/*(non-Javadoc)
*?此方法用于向方法調(diào)用者返回某一單元格的渲染器(即顯示數(shù)據(jù)的組建--或控件)
*?可以為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)?{
//?創(chuàng)建用于返回的渲染組件
JCheckBox?ck?=?new?JCheckBox();
//?使具有焦點的行對應的復選框選中
ck.setSelected(isSelected);
//?設置單選box.setSelected(hasFocus);
//?使復選框在單元格內(nèi)居中顯示
ck.setHorizontalAlignment((int)?0.5f);
return?ck;
}});
//?方法二:先設置列編輯器,然后設置單元格渲染
//?設置列編輯器
//?在以復選框為對象設置列編輯器時,必須保證該列能夠被編輯,否則無法更改狀態(tài)
//?(此步驟可以省略,省略時不要忘記將列設為不可編輯)
//?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;
}
//?如果不是需要渲染的列,封裝文本域顯示數(shù)據(jù)
return?new?JTextArea(value.toString());
}});*/
//?在多選是需要按住Ctrl鍵或者鼠標按住拖過連續(xù)的需要選中的行,應該給用戶說明
//?第一種方法是被推薦的,因為它具有選中的高亮顯示,界面能更加友好
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代碼生成復選框 java如何獲取復選框選中的值
文章起源:http://bm7419.com/article16/dohjhgg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、移動網(wǎng)站建設、虛擬主機、定制開發(fā)、ChatGPT、標簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)