JAVA中rootpanel_Java JPanel.setFocusCycleRoot方法代码示例

import javax.swing.JPanel; //导入方法依赖的package包/类

@Override

public void actionPerformed(ActionEvent e) {

JButton button = (JButton) e.getSource();

JCheckBox firstEntry = null;

JPopupMenu popupMenu = new JPopupMenu();

JPanel menuPanel = new JPanel();

menuPanel.setFocusCycleRoot(true);

popupMenu.add(menuPanel);

menuPanel.setLayout(new GridBagLayout());

GridBagConstraints constraints = new GridBagConstraints();

constraints.fill = GridBagConstraints.HORIZONTAL;

constraints.anchor = GridBagConstraints.BASELINE_LEADING;

constraints.weightx = 1;

constraints.gridx = 0;

Set visibleColumns = dataPanel.getVisibleColumns();

DataViewTableUIModel dvtm = dataPanel.getModel();

for(int i = 0; i < dvtm.getColumnCount(); i++) {

JCheckBox columnEntry = new JCheckBox(dvtm.getColumnName(i));

columnEntry.setActionCommand(Integer.toString(i));

columnEntry.setSelected(visibleColumns.contains(i));

columnEntry.addActionListener(columnVisibilityToggler);

constraints.gridy += 1;

menuPanel.add(columnEntry, constraints);

if(firstEntry == null) {

firstEntry = columnEntry;

}

}

constraints.gridy += 1;

menuPanel.add(new JSeparator(), constraints);

JCheckBox checkboxItem = new JCheckBox("Fit column width");

checkboxItem.setSelected(dataPanel.getAutoResizeMode() != JTable.AUTO_RESIZE_OFF);

checkboxItem.addActionListener(fitColumnWidthToggler);

constraints.gridy += 1;

menuPanel.add(checkboxItem, constraints);

popupMenu.show(button, 0, button.getHeight());

if(firstEntry == null) {

checkboxItem.requestFocus();

} else {

firstEntry.requestFocus();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值