标签: jcheckbox

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

JButton,JCheckBox和类似的交互者不会在视觉上改变

这是一个简单的图形程序,可以在屏幕上添加一些星星.

import acm.graphics.*;
import acm.program.*;
import java.awt.event.*;
import javax.swing.*;

/**
 * This program creates a five-pointed star every time the
 * user clicks the mouse on the canvas.
 */

public class DrawStarMap1 extends GraphicsProgram {

    public void init() {
        /* Initializes the mouse listeners */
        addMouseListeners();

        /* The check box starts out in the "on" position */
        fillCheckBox = new JCheckBox("Filled");
        fillCheckBox.setSelected(true);
        add(fillCheckBox, SOUTH);

        /* Clears the screen with a button */
        add(new JButton("Clear"), SOUTH);
        addActionListeners();   
    }

    /* Called whenever …
Run Code Online (Sandbox Code Playgroud)

java swing jbutton jslider jcheckbox

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

JTable - Checkbox添加动作侦听器

我创建了一个简单JTable的复选框,如下所示:

DefaultTableModel model = new DefaultTableModel();
jTable1.setModel(model);

model.addColumn("No:", no1);
model.addColumn("Remark", remark1);
model.addColumn("Color", colors1);
model.addColumn("Done");

TableColumn col1 = jTable1.getColumnModel().getColumn(0);
col1.setPreferredWidth(1);

TableColumn col4 = jTable1.getColumnModel().getColumn(3);
col4.setCellEditor(jTable1.getDefaultEditor(Boolean.class));
col4.setCellRenderer(jTable1.getDefaultRenderer(Boolean.class));
col4.setPreferredWidth(50);

jTable1.setShowGrid(true);
jTable1.setGridColor(Color.BLACK);
jTable1.setAutoCreateRowSorter(true); 
Run Code Online (Sandbox Code Playgroud)

它工作正常,但如果我想为复选框添加动作监听器该怎么办.例如,当我选中我的复选框时,我需要弹出一条确认消息.

java swing jtable actionlistener jcheckbox

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

如何禁用Checkbox?

在Java上,如果选中复选框A,有没有办法禁用复选框(称之为B).

当我说禁用时,用户无法检查它..它是setEditable(false)还是什么的.

java swing jcheckbox

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

如何避免使用Java中的JCheckBoxes进行冗余编码

我有一组实现特定接口的类,我有一组复选框.如果没有选中复选框,我想抛出一个错误.如果选择了至少一个或多个复选框,则应创建与该复选框关联的对象.

这就是我的表现.

interface U { ... }

class A implements U { ... }
class B implements U { ... }
class C implements U { ... }

class Main {
    //.... 
    //....
    public void findSelectedCheckBoxesAndCreateObjects() {
        if(!(checkboxA.isSelected() || checkboxB.isSelected() || checkboxC.isSelected()) {
            System.out.println("No checkboxes selected");
            return;
        }

        //if any selected, create associated object
        if(checkboxA.isSelected()) new A(file);
        if(checkboxB.isSelected()) new B(file);
        if(checkboxC.isSelected()) new C(file);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我有3个问题.

  1. 这只是一个示例代码.Original有8个复选框和更多的类.
  2. || checkboxD.isSelected()每次我有一个新类来检查它时,我都不能继续添加.
  3. 一样.我不能继续if(checkboxD.isSelected()) new D(file);为每节课增加.

它非常不优雅.我可以使用某种循环来删除冗余代码吗?

请给我你的建议.谢谢.

java code-reuse swing coding-style jcheckbox

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

代码正在显示而不是组件

请查看以下代码

import java.awt.GridLayout;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;

public class TestSend extends JFrame 
    {
        private Box names, emails;
        private JButton ok;
        private Map mMap;
        private JLabel nameLabel, emailLabel;
        private JPanel mainPanel;
        private JScrollPane scroll;
        private JTable table;
        private Object[][] data;
        private int counter = 0;
        private List nameHolder;

        private String[] colNames = {"Names","Emails"};

        public TestSend() …
Run Code Online (Sandbox Code Playgroud)

java swing jtable jlabel jcheckbox

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

如何使用jcheck框和多个选择创建jcombobox

我想创建带有复选框和多个选择的JComboBox.我在渲染jlist后创建了一个带复选框的列表.我不知道如何用jcombobox渲染它.或者是否可以将jlist作为下拉列表组成,如组合框.对于jlist渲染我使用以下代码

  DefaultListModel listModel = new DefaultListModel();
    ListCheckBox li= new ListCheckBox(listModel);
    JScrollPane jsp= new JScrollPane(li);
    add(jsp);

    listModel.add(0,new JCheckBox("Other Court"));

    listModel.add(0,new JCheckBox("Tribunal Court"));

    listModel.add(0,new JCheckBox("High Court"));
   listModel.add(0,new JCheckBox("Supreme Court"));
Run Code Online (Sandbox Code Playgroud)

ListCheck Box类如下

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

 public class ListCheckBox extends JList
{
protected static Border noFocusBorder =
 new EmptyBorder(1, 1, 1, 1);

public ListCheckBox(DefaultListModel model)


  {

   super(model)  ;
   setCellRenderer(new CellRenderer());

    addMouseListener(new MouseAdapter()
     {
        public void mousePressed(MouseEvent e)
        {
           int index = locationToIndex(e.getPoint());

           if (index != -1) {
              JCheckBox checkbox …
Run Code Online (Sandbox Code Playgroud)

java swing jlist jcombobox jcheckbox

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

JXTreeTable中的复选框

这里仍然是一个Java新手,为了我自己的利益而尝试过于先进.不过,这就是我需要做的:JXTreeTable中的一个复选框.我的主要课程:

package info.chrismcgee.sky.production;

import info.chrismcgee.sky.production.treetable.NoRootTreeTableModel;

import java.awt.Checkbox;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
import javax.swing.border.EmptyBorder;
import javax.swing.border.EtchedBorder;

import net.miginfocom.swing.MigLayout;

import org.jdesktop.swingx.JXTreeTable;

public class TestFrame extends JFrame {

    /**
     * 
     */
    private static final long serialVersionUID = -1899673458785493250L;
    private JXTreeTable treeTable;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                try {
                    TestFrame frame = new TestFrame();
                    frame.setVisible(true);
                } catch …
Run Code Online (Sandbox Code Playgroud)

java swing swingx jcheckbox jxtreetable

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

在文件选择器中更改附件组件的位置

我在更改文件选择器中附件组件的位置时遇到问题.

我通过在文件选择器的附件组件中放置一个复选框来自定​​义保存文件对话框.但是复选框的位置不好,真的很难看.

我可以将附件组件移动到文件窗格下面吗?怎么做?

或者,如果您有其他解决方案来做同样的事情,也欢迎.

感谢你们.

我使用以下代码添加复选框:

JFileChooser fc = new JFileChooser(file)
JPanel accessory = new JPanel();
JCheckBox isOpenBox = new JCheckBox("Open file after saving");
accessory.setLayout(new BorderLayout());
accessory.add(isOpenBox, BorderLayout.SOUTH);
fc.setAccessory(accessory);
Run Code Online (Sandbox Code Playgroud)

在此屏幕截图中,复选框的位置不佳.

在此输入图像描述

这个截图是我想要的确切效果.

在此输入图像描述

java swing jfilechooser custom-component jcheckbox

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

JCheckBox没有出现

我已经检查了无处可修复但没有任何方法可以使我的复选框出现.我将它添加到面板并将面板添加到窗口.按钮出现所以它必须是复选框的问题.这是我的代码:

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class MainApplication {

    public static Toolkit tk = Toolkit.getDefaultToolkit();

    public static void main(String[] args) {
        MainApplication instance = new MainApplication();
        instance.start();
    }

    private JFrame window;
    private JPanel mainPanel;
    private JPanel contingencyPanel;

    private JButton applyButton = new JButton("Apply Changes");
    private JCheckBox autoRedLightBox = new JCheckBox("Red Light");
    private JCheckBox autoYellowLightBox = new JCheckBox("Yellow Light");
    private JCheckBox autoGreenLightBox = new JCheckBox("Green Light");
    private …
Run Code Online (Sandbox Code Playgroud)

java swing layout-manager jcheckbox

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