相关疑难解决方法(0)

如何用菜单创建JButton?

我想在我的应用程序中创建一个工具栏.如果单击该工具栏上的按钮,它将弹出一个菜单,就像在Eclipse的工具栏中一样.我不知道如何在Swing中这样做.有谁可以帮助我吗?我试过谷歌,但一无所获.

java swing menu jbutton jpopupmenu

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

JTable右对齐标题

基本上,我有一个JTable包含具有右对齐单元格但左对齐标题的列,这看起来非常糟糕.我想右对齐这些列的标题而不改变标题的"外观和感觉".

谢谢

java user-interface swing jtable jtableheader

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

如何使用Renderer for TableHeader

甚至我也阅读并测试了@kleopatra的答案

在此输入图像描述

在此输入图像描述

在此输入图像描述

来自SSCCE

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

public class SelectedTableHeader {

    private JFrame frame = new JFrame("Table Demo");
    private JTableHeader header;
    private Object selectedColumn = null;
    private String[] columnNames = {"String", "Integer", "Float", "Double", "Locale & Double", "Boolean"};
    private Object[][] data = {
        {"aaa", new Integer(12), new Float(12.15), new Double(100.05), new Double(12.05), true},
        {"bbb", new Integer(5), new Float(7.154), new Double(6.1555), new Double(417.55), false},
        {"CCC", new Integer(92), …
Run Code Online (Sandbox Code Playgroud)

java swing jtable tablecellrenderer jtableheader

14
推荐指数
1
解决办法
9262
查看次数

如何更改JTable的标题背景颜色?

我试过了:

table.getTableHeader().setBackground(Color.BLACK);
Run Code Online (Sandbox Code Playgroud)

不行.

编辑:此代码仅在我的项目中不起作用.适用于其他项目.我可能已经更改了一个可以阻止颜色变化的属性.或者NetBeans有一些保留默认颜色的属性.我注意到了别的什么.我项目中标题的颜色以不同的方式闪耀.在颜色变化有效的示例中,我看到了不同的图形.

编辑2:别的.我注意到按钮也不会改变颜色.必须是通用的东西.希望这可以帮助.不幸的是,SSCCE在这种情况下无法工作,因为我无法重现问题.我肯定使用正确的组件名称.

java swing netbeans jtable jtableheader

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

将ActionListener添加到JTable的列标题

是否可以添加ActionListener到列标题JTable.

这是我的桌子我的桌子图片

现在,我想的添加ActionListener到列标题(例如WQE,SDM)我想是能够显示在另一个窗口中列描述.

java swing jtable actionlistener jtableheader

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

JTable中带有复选框的多行选择

我有一个带复选框的JTable作为列之一.我还在标题中有一个复选框来检查/取消选中所有.AFAIK JTable的默认行为是,如果选择新行,它将取消选择之前选择的所有行.但是我们可以通过复选框实现CTRL点击行为.保留以前选定的行.我面临的主要问题是使用复选框启用多个JTable行选择.

预期产出

检查第一行然后选择第一行,如果选中第三行,则选择第三行以及第一行(已经选中并选中)

实际输出

检查并选择第一行时,如果选择第三行,则取消选择先前选择的所有行,仅选择第三行.

我有一个示例代码,它模拟我希望实现与Add Another One按钮相同的方案,但有复选框选择.

import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.table.AbstractTableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.TableColumn;
import javax.swing.event.CellEditorListener;

public class JTableRowSelectProgramatically extends JPanel {

final JTable table = new JTable(new MyTableModel());

public JTableRowSelectProgramatically() {
    initializePanel();
}

private void initializePanel() {
    setLayout(new BorderLayout());
    setPreferredSize(new Dimension(475, 150));


    table.setFillsViewportHeight(true);
    JScrollPane pane = new JScrollPane(table);

    JLabel label2 = new JLabel("Row: ");
    final JTextField field2 = new JTextField(3);
    JButton add = new JButton("Select");

    table.setRowSelectionAllowed(true); …
Run Code Online (Sandbox Code Playgroud)

java swing jtable

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

可编辑的JTableHeader

可能重复:
在JTableHeader中访问JTextField

如何使JTableHeader可编辑.我将ColumnHeader作为JTextField.我该怎么做才能使JTextField可编辑.看例子:

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

import javax.swing.table.*;

import java.awt.event.*;

public class Test extends JFrame {

String[][] cellValues = { { "v00", "v01", "v02" }, { "v10", "v11", "v12" },
        { "v20", "v21", "v22" }, { "v30", "v31", "v32" },
        { "v40", "v41", "v42" }, { "v50", "v51", "v52" } };
String[] columnNames = { "v00", "v01", "v02" };

javax.swing.JTable jTable1 = new javax.swing.JTable(cellValues, columnNames);

public Test() {
    try {
        jbInit();
    } catch (Exception e) {
        e.printStackTrace();
    }
} …
Run Code Online (Sandbox Code Playgroud)

java swing jtable jtableheader

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

JComboBox无法在JTable TableHeader中扩展

我已经阅读了大多数JTable/JComboBox对此类其他问题的回复,但还没有找到解决我问题的方法.

我创建了一个具有JComboBox TableHeader元素的表.没有任何JComboBox元素将打开以显示项目列表.如何获取要显示的各个JComboBox元素的项目列表?

请注意,此问题的一个显着特征是JComboBox位于TableHeader中,未嵌入JTable单元中.

任何帮助表示赞赏.

SSCE

import java.awt.Component;
import java.awt.Dimension;
import java.util.Enumeration;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.SwingUtilities;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;

public class ComboHeaderTest extends JScrollPane {

private static final Dimension DEFAULT_SIZE = new Dimension(200, 200);

public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {

        @Override
        public void run() {
            new ComboHeaderTest().initComponents();
        }
    });
}

private ComboHeaderTest() {

    final String[][] data = { {"Header 1", "Header 2", "Header 3"},
                                {"A", "B", "C"},
                                {"D", …
Run Code Online (Sandbox Code Playgroud)

java swing jtable jcombobox jtableheader

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

如何使用swing java中checklistbox中的select all选项?

在我的代码片段中!"checkBoxList"没有文件选择器选择并存储在其中的文件

复选框"tmp"它有文件的复选框!

当我在我的面板中显示文件[checkboxlist]时,它是未经检查的!我有选项后勾选/取消它.

我有以下代码用于选择/取消选择选项

我需要知道何时显示文件!文件应该显示为勾选(勾选)然后我可以修改我可以勾选/取消勾选.

我坚持这个逻辑!

[

编辑:我做了并更新了这部分的答案(见图).

我将select/deselectall添加到面板(框)并且它有效

box.add(chckbxSelectAll);
Run Code Online (Sandbox Code Playgroud)

&&我需要并且好奇知道如何将我的selectall复选框放在我的面板中

]

public void selectAllMethod() {
Iterator<JCheckBox> i = checkBoxList.iterator();
while (i.hasNext()) {
    JCheckBox tmp = i.next();
        if (chckbxSelectAll.isSelected()) {
            tmp.doClick();
        } else {
            tmp.setSelected(false);
            selectedCounter -= 1;
            if (selectedCounter < 0) {
                selectedCounter = 0;
            }
    noOfFileTxt.setText(Integer.toString(selectedCounter));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的按钮选择方法,用于选择文件夹并在带有复选框的面板中显示它

public void chooseDirectoryFrom() {
    String tempStr = null;
    try {
        UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        fileChooser = new JFileChooser();
        Font font = new Font("Latha", Font.ITALIC, 10);
        fileChooser.setFont(new Font("Latha", Font.PLAIN, 13));
        fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        fileChooser.setFont(font); …
Run Code Online (Sandbox Code Playgroud)

java arrays checkbox swing jfilechooser

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

如何删除JTable中列标题的边框?

我的问题是在JTable中删除列标题的边框.

我的类扩展了JTable,因此我设法通过以下方式擦除所有其他边界:

super.setShowHorizontalLines(false);
super.setShowVerticalLines(false);

但这不会删除列标题中的边框.这该怎么做?

java swing jtable

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