标签: jcheckbox

添加边框到jcheckbox

有没有人知道是否有一种简单的方法可以在包含标签的JCheckBox对象周围放置边框?setBorder似乎没有任何效果.我知道我可以将每个复选框放在一个JPanel和边框内,但是没有办法将整个JCheckBox单独连接起来吗?谢谢

java swing border jcheckbox

6
推荐指数
1
解决办法
3773
查看次数

动态创建jCheckBox并添加到jScrollPane

编辑:使用下面提供的解决方案,我已经更改了代码,在JScrollPane中有一个JPanel.使用JButton我将JCheckBoxes添加到JScrollPane内的JPanel.这是一个问题,因为JScrollPanecan只接受一个JComponent.解决了其余问题,在JScrollPane中为JPanel设置了gridlayout.为了后代,我在这里保留了原来的问题:

原始问题:我正在尝试动态创建JCheckBox并将它们添加到JScrollPane,但唉,我收效甚微.我将其简化为单一的概念验证实现.

我在JFrame中有一个JScrollPaneon JPanel.同样在JPanel上,我添加了一个按钮,可以在单击时将JCheckBox添加到JScrollPane.应该够简单.按钮内的代码如下:

 private void addCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {

    JCheckBox cb = new JCheckBox("New CheckBox");        

    jScrollPaneCheckBoxes.add(cb);
    jScrollPaneCheckBoxes.revalidate();
 }
Run Code Online (Sandbox Code Playgroud)

代码运行似乎没有错误.我没有例外,使用调试器显示JCheckBox实际上已添加到JScrollPane.不幸的是,应用程序中没有显示任何内容 我需要指导在哪里寻找问题.

这是您可以运行的快速代码.不幸的是,我使用Netbeans和它的GUI设计器将它们放在一起,因此它比它需要的时间长,特别是生成的代码.专注于方法jButton1ActionPerformed,这就是上面代码的来源.

编辑:此代码现在做我需要它.:-)

package dynamiccheckboxsscce;

import javax.swing.JCheckBox;

public class Main extends javax.swing.JFrame {

    /**
     * Creates new form Main
     */
    public Main() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jPanel1 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        jScrollPane1.setPreferredSize(new java.awt.Dimension(250, 250));

        jPanel1.setPreferredSize(new java.awt.Dimension(300, 250));
        jPanel1.setLayout(new java.awt.GridLayout(0, 2, 10, 10));
        jScrollPane1.setViewportView(jPanel1);

        jButton1.setText("Add Checkbox");
        jButton1.addActionListener(new java.awt.event.ActionListener() { …
Run Code Online (Sandbox Code Playgroud)

java swing dynamic jscrollpane jcheckbox

6
推荐指数
1
解决办法
1万
查看次数

我可以使用 JCheckbox 来显示“混合状态”

在 Windows 中,可以显示灰色的 JCheckbox,以表明它所代表的数据集合并非所有项目都具有相同的值。

这对于 JCheckBox 来说是可能的吗?我该怎么办?(希望有办法不覆盖它)

谢谢

java mixed jcheckbox

5
推荐指数
1
解决办法
1030
查看次数

JTable中的多行选择

我有一个JTable,有一列是文本,不可编辑,第二列是一个显示布尔值的复选框....现在我想要的是,当用户选择多行并取消选中任何一行时选中复选框,然后选中下面的所有复选框都应取消选中,反之亦然.

java user-interface swing jtable jcheckbox

5
推荐指数
1
解决办法
2万
查看次数

使 JCheckbox 更大..?

我想让 JTable 中的 JCheckboxes 更大(用于触摸屏),但它不会改变大小。

我试过了

  • 设置首选大小
  • 设置大小

我该怎么办?..

java size swing jtable jcheckbox

5
推荐指数
1
解决办法
1万
查看次数

为什么JCheckBox上的setSelected失效?

有人可以向我解释为什么我放弃了选择(设置setSelected())JCheckBox时我放入JOptionPaneItemListener?这是一个错误吗?

很奇怪,如果这个过程延迟invokeLater(),setSelected()正如我预期的那样正常工作.

在此输入图像描述 在此输入图像描述

来自SSCCE

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class ComponentEventDemo extends JPanel
        implements ComponentListener, ItemListener {

    private static final long serialVersionUID = 1L;
    private JFrame frame;
    private JTextArea display;
    private String newline = "\n";
    private JTextField field1;

    public ComponentEventDemo() {
        super(new BorderLayout());
        display = new JTextArea(10, 25);
        display.setEditable(false);
        JPanel panel = new JPanel(new GridLayout(0, 2));
        field1 = new JTextField();
        field1.setDisabledTextColor(Color.red);
        JCheckBox checkbox = new JCheckBox("Label visible", …
Run Code Online (Sandbox Code Playgroud)

java swing joptionpane jcheckbox event-dispatch-thread

5
推荐指数
1
解决办法
2800
查看次数

JPanel 动作监听器

我有一个带有一堆不同复选框和文本字段的 JPanel,我有一个被禁用的按钮,需要在设置特定配置时启用。我需要的是在整个 JPanel 上寻找事件的侦听器,无论何时发生任何变化。我相信我需要一个动作监听器,但我找不到任何东西来将动作监听器与 JPanel 连接起来

JPanel Window = new JPanel();
Window.addActionListener(new ActionListener(){
//Check if configurations is good
}
Run Code Online (Sandbox Code Playgroud)

我想我可以将我的代码多次复制并粘贴到面板中的每个侦听器中,但这对我来说似乎是一种糟糕的编码习惯。

java swing actionlistener jtextfield jcheckbox

5
推荐指数
1
解决办法
3万
查看次数

在JTable中监听JCheckBox的变化

如何监听包含JCheckBox的JTable列中的更改?我想知道用户何时选择/取消选中复选框.该列的类设置为boolean,因此它将自动呈现为JCheckBox.

java swing jtable jcheckbox

5
推荐指数
2
解决办法
6841
查看次数

如何识别JTable中JCheckBox的直接点击?

使用JCheckBox作为JTable列中的编辑器,我想忽略TableCell中CheckBox左右两侧的鼠标点击.

我在2011年的Oracle论坛上找到了一个讨论,但问题没有在那里解决:https://community.oracle.com/thread/2183210

这是我到目前为止所实现的黑客攻击,有趣的部分开始于class CheckBoxEditor:

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ComponentEvent;
import java.awt.event.MouseEvent;
import java.util.EventObject;
import javax.swing.DefaultCellEditor;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;

/**
 * Trying to set the Checkbox only if clicked directly on the box of the CheckBox. And ignore clicks on the
 * remaining space of the TableCell.
 * 
 * @author bobndrew
 */
public class JustCheckOnCheckboxTable extends JPanel
{
  private static final int …
Run Code Online (Sandbox Code Playgroud)

java swing jtable tablecelleditor jcheckbox

5
推荐指数
1
解决办法
2113
查看次数

获取JCheckBox选中的框值

我想问一下,如果没有actionListener,有没有办法从JCheckBox获取信息.在我的代码中,我扫描一个字符串文件,每行都有数据,如果选中,应该添加到我的程序中的数组中.问题是我永远不会知道我将拥有多少个JCheckBox,它取决于文件.

所以,我的问题是如何通过按下按钮将所选字符串放入数组(或列表)(确定),这样我就可以用它们做其他事情(在我的情况下,我需要从文件或手动输入获取数据)把它放在一个红黑树,所以我需要将选定的字符串推送到我的putDataInTheTree方法).

编辑:此外,是否有可能不显示已添加到该程序的JCheckBoxes?IE如果我选择液体,下次我打电话输入方法液体不会在我的面板中显示?

提前致谢!

看起来如何:

在此输入图像描述

我的代码到目前为止:

public void input() {
    try {
        mainWindow.setEnabled(false);
        fromFile = new JFrame("Input from file");
        fromFile.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        fromFile.setLayout(new BorderLayout());
        fromFile.setSize(300,200);
        panelFromFile = new JPanel();
        panelFromFile.setLayout(new java.awt.GridLayout(0,1));
        JScrollPane scrollPane2 = new JScrollPane(panelFromFile); 
        scrollPane2.setMaximumSize(new Dimension(300, 180));

        FileReader File = new FileReader(data);
        BufferedReader Buffer = new BufferedReader(File); 
        while ((info = Buffer.readLine()) != null) {
            if (info != null) {
                JCheckBox check = new JCheckBox(info);
                panelFromFile.add(check);
            }
        }
        ok = new JButton("ok");
        ok.addActionListener(this);
        fromFile.add(scrollPane2, BorderLayout.CENTER);
        fromFile.add(ok, BorderLayout.SOUTH);
        fromFile.setLocationRelativeTo(null);
        fromFile.setResizable(false);
        fromFile.setVisible(true);
    } …
Run Code Online (Sandbox Code Playgroud)

java swing jcheckbox

4
推荐指数
1
解决办法
3万
查看次数