标签: swingx

如何使JXTreeTable排序其顶级元素

我知道(我已查看过这些来源;))已禁用JXTreeTable上的排序.

但是,我想仅允许根据根节点的直接子节点的值对所有列进行排序.

说我有这样的结构:

Name       / Date       / File UID
(Root)
|- Mr. X   / 1996/10/22 / AE123F6D
|--- File1 / 2012/01/10 / DFC2345Q
|--- File2 / 2012/01/11 / D321FEC6
|- Mrs. Y  / 1975/03/03 / G2GF35EZ
|--- File3 / 2012/02/29 / 35GERR32
|--- File4 / 2012/01/22 / LKJY2342
.
.
.
Run Code Online (Sandbox Code Playgroud)

我想要实现的是仅在第一级节点上对3列进行排序.假设我想按升序日期对其进行排序,它最终会像这样:

Name       / Date       / File UID
(Root)
|- Mrs. Y  / 1975/03/03 / G2GF35EZ
|--- File3 / 2012/02/29 / 35GERR32
|--- File4 / 2012/01/22 / LKJY2342
|- Mr. …
Run Code Online (Sandbox Code Playgroud)

java swing jtable swingx jxtreetable

8
推荐指数
1
解决办法
3907
查看次数

为什么JXTable在JTable不存在的情况下输入输入?

当我使用JXTable渲染和编辑我的数据时,CellEditors的一些输入会丢失.如果我单击JXTable-ColumnHeader的Resizing-Divider或更改JFrame的宽度,CellEditor将终止而不提交值.如果我使用JTable,则保存这些值.

我想使用JXTable因为它的其他功能,所以有没有办法修复JXTable?

Screenrecording

例:

package table.columnresize;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

import org.jdesktop.swingx.JXTable;

/**
 * Demo of differing behaviour of JXTable and JTable. JXTable loses input in a TableCell where JTable persists
 * it.
 * <p>
 * <table border=1>
 * <tr>
 * <th></th>
 * <th>JXTable</th>
 * <th>JTable</th>
 * </tr>
 * <tr>
 * <td>Click on TableColumnHeader</td>
 * <td>saved</td>
 * <td>saved</td>
 * </tr>
 * <tr>
 * <td>Resizing with Divider of TableColumnHeader</td>
 * <td>lost</td>
 * <td>saved</td>
 * </tr>
 * <tr>
 * …
Run Code Online (Sandbox Code Playgroud)

java swing jtable swingx jxtable

8
推荐指数
1
解决办法
256
查看次数

有没有人使用Swing的"swingx"扩展?

我看过这里提到过的"swingx".

但是,每次我尝试访问该网站时:

http://swinglabs.org/

它失败了!这仍然是一个积极,可行的项目吗?或者它已过时并被遗弃?

java swing swingx

7
推荐指数
3
解决办法
5776
查看次数

如何立即调用Java GUI?(与Thread.sleep()冲突)

我正在制作游戏记忆,当你选择两张牌时,如果匹配你就得保留它们,否则你会把它们转回去.如果你记得你已经选择过的牌,你可以对接下来的两张牌进行更好的猜测.

repaint()遇到的问题涉及不立即重新粉刷的方法.

当我翻转第二张卡片时,无论结果如何,我都要显示两张卡片在放弃或翻转之前向右翻转.我是通过打电话来做的sleep().

当然,如果我repaint()将卡片正面向上翻转,等待一秒钟,然后repaint()再根据它们的值,有用的小Java只会重绘一次(我想念C!).

基本上我想在我之前强制调用更新sleep().我已经阅读了一些其他线程,基本上说最好的方法是创建两个线程来保持逻辑和图形分离,然后你可以使用sleep()你的逻辑并保持你的GUI更新,但我在第一学期CS课程的第一学期在高中时,我希望将其保持在课程的水平上(尽管我花了很多时间在夏季网上开发和编写C语言).

因为我知道StackOverflow上有用的人喜欢阅读代码,所以这是我在下面提到的程序的一部分.该类HitArea是Card对象,cards[]数组包含一定数量HitArea的.(我没有重命名HitArea该类).activeCard1并且activeCard2HitArea我用来跟踪用户的两个选择的实例,并且空白构造函数是保留的"不可见" HitArea,尽管我稍后会将其更改为null.最后,cards.flip()反转一个toggle布尔值,确定卡是否正面朝上.

public void respond(HitArea choice)
{
    if(choice.inGame)
    {
        if(activeCard1.value == 0 && activeCard1.value == 0)
            activeCard1 = choice;
        else if((!(activeCard1.value == 0) && activeCard2.value == 0) && (activeCard1.id != choice.id))
        {
            activeCard2 = choice;
            check();
        }

    }
}
public void check()
{
    update(); …
Run Code Online (Sandbox Code Playgroud)

java user-interface swingx repaint

7
推荐指数
1
解决办法
1706
查看次数

如何使用swingx 1.6突出显示JTable中的每一行

我需要突出显示JTable中的每一行.使用旧版本的swingx,可以这样做:

table.setHighlighters(new HighlighterPipeline(new Highlighter[] { new AlternateRowHighlighter(
            color1, color2,color3 }));
Run Code Online (Sandbox Code Playgroud)

但现在,使用swingx 1.6,方法setHighlighters()无法接受这些参数.它说"JXTable类型中的方法setHighlighters(Highlighter ...)不适用于参数(HighlighterPipeline)"

那么我怎么能用新的swingx呢?

java swing swingx jxtreetable swingx-highlighter

7
推荐指数
1
解决办法
1738
查看次数

如何只用一次鼠标点击编辑JXTreeTable单元格?

我想在a中使用a JComboBox作为单元格编辑器JXTreeTable.它与标准工作正常DefaultCellEditor(即点击计数开始等于2).

现在我希望只需单击一下就可以编辑该列.所以我cellEditor.setClickCountToStart(1);在我的代码中添加了一个声明.

这是我的SSCCE:

import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import org.jdesktop.swingx.JXTreeTable;
import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode;
import org.jdesktop.swingx.treetable.DefaultTreeTableModel;

public class TestCellEditorForJXTreeTable {

    /** The JXTreeTable */
    JXTreeTable treeTable;
    /** The model */
    DefaultTreeTableModel treeTableModel;

    /** Constructor */
    public TestCellEditorForJXTreeTable() {

        treeTable = new JXTreeTable();
        treeTableModel = new DefaultTreeTableModel() {
            @Override
            public String getColumnName(int column) {
                switch (column) {
                    case 0:
                        return "A";
                    case 1:
                        return …
Run Code Online (Sandbox Code Playgroud)

java swing swingx tablecelleditor jxtreetable

7
推荐指数
1
解决办法
1233
查看次数

java Swingx(Swinglabs)是一个死项目吗?

我找不到关于它的官方网站,只是一个指向http://swingx.dev.java.net/的 github 存储库 ( https://github.com/tmyroadctfig/swingx )不存在任何而且,所有链接都指向java.net。

这个项目的现状如何?弃?死的?有我找不到的新家吗?

java swing swingx

7
推荐指数
0
解决办法
4316
查看次数

swingx的JXDatePicker中的日期范围?

有没有人知道是否可以选择swingx的jxdatepicker多天?我正在使用swingx版本1.6.1(看起来是最新的).

java datepicker swingx

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

如何在JOptionPane上添加文本区域

目前我有一个JOptionPane.单击按钮时,我正在执行以下行.

JOptionPane.showInputDialog(this,"Enter your message","Messages",2);
Run Code Online (Sandbox Code Playgroud)

它会打开一个带有文本框的弹出窗口.此文本框可接受大约40/50个字符.实际上我的要求是在这个文本框中取消长消息(最多300个字符),这样就可以了.所以我们想在这个输入对话框中找到一个文本区域?有可能怎么样?有没有更好的解决方案?提前致谢.

java swing swingx joptionpane

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

如何更改JXTaskPaneContainer的bg颜色

我想将蓝色背景颜色更改为taskpanecontainer的白色.我用过下面这行但没有任何影响.

UIManager.put("TaskPaneContainer.background", Color.LIGHT_GRAY);
Run Code Online (Sandbox Code Playgroud)

请给我一些改变bg颜色的想法.

public class NewJFrame2 extends javax.swing.JFrame {

        public NewJFrame2() {
            initComponents();
            setSize(462, 300);
            add(doInit());
            setBackground(Color.WHITE);
        }

        private Component doInit() {
                JXTaskPaneContainer taskpanecontainer = new JXTaskPaneContainer();
                //taskpanecontainer.setLayout(new VerticalLayout(2));

                JXTaskPane taskpane1 = new JXTaskPane();
                taskpane1.setTitle("First TaskPane");
                JXTable table = new JXTable();
                DefaultTableModel model = new DefaultTableModel();
                model.addColumn("ParameterName");
                model.addColumn("ParameterType");
                model.addColumn("Operation");
                model.addRow(new Object[]{"Request", "String", "Delete"});
                model.addRow(new Object[]{"Request", "String", "Delete"});

                table.setModel(model);
                ((JComponent) taskpane1.getContentPane()).setBorder(BorderFactory.createEmptyBorder(0,5,0,5));
                taskpane1.add(table);

                taskpanecontainer.add(taskpane1);

                taskpanecontainer.setBorder(javax.swing.BorderFactory.createEmptyBorder(0,0,0,0));

                return taskpanecontainer;
            }
    }
Run Code Online (Sandbox Code Playgroud)

我也在分享图像,所以我已经清除了你的想法.. 在此输入图像描述

谢谢

java swing swingx jxtaskpane

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