小编Pan*_*ian的帖子

如何将工具提示添加到jtable中的单元格?

我有一张表,每行代表一张图片.在路径I中,存储其绝对路径.字符串有点长,我想当我将鼠标悬停在特定单元格上时,工具提示应弹出包含来自单元格的信息的鼠标旁边.

java swing jtable tooltip listener

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

Java:如何以编程方式选择和扩展JTree中的多个节点?

我有一个JTree和一个awt.Canvas.当我选择从内的多个对象Canvas进入objList,我想显示里面的所有选定项目JTree的选择.这意味着,例如,如果我选择了2个对象,则应扩展它们到root的路径,并且每个所选对象也应该TreeNode选择相应的对象.我的JTree有TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION.

这是我使用的扩展功能的示例:

public void selectTreeNodes() {


    HashMap <String, MyEntity> entities = ...;
    Iterator it = entities.keySet().iterator();
    while (it.hasNext()) {

        String str = it.next().toString();
        MyEntity ent = entities.get(str);

        if (ent.isSelected()) {
            DefaultMutableTreeNode searchNode = searchNode(ent.getName());
            if (searchNode != null) {

                TreeNode[] nodes = ((DefaultTreeModel) tree.getModel()).getPathToRoot(searchNode);
                TreePath tpath = new TreePath(nodes);
                tree.scrollPathToVisible(tpath);
                tree.setSelectionPath(tpath);
            }
        }
    }
}

public DefaultMutableTreeNode searchNode(String nodeStr) 
{ 
    DefaultMutableTreeNode node = null; 

    Enumeration enumeration= …
Run Code Online (Sandbox Code Playgroud)

java swing select treenode jtree

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

如何在应用程序中始终保持框架在顶部,但在Java中使用其他应用程序时将其置于后台?

我的Java应用程序有多个框架.其中一些将始终位于顶部.但是,当用户打开另一个程序(比如一个Web浏览器)时,我希望始终在顶部的帧移动到后台,让其他应用程序在屏幕上完全显示.

java swing jframe hide always-on-top

9
推荐指数
1
解决办法
3300
查看次数

需要一种3D矢量交叉算法

我有2个向量,每个向量由2 Point3D(原点和方向)定义.我需要找出他们交叉点的意义.总是欢迎一点帮助.我将发布我的功能,这给了我错误的输出.

public static CurvIntersect3D Intersect2Linii3D (Vector3D dr1, Vector3D dr2) {
    CurvIntersect3D result = new CurvIntersect3D(0, null);

    double x = Math3D.VectorNorm3D(dr1.getDirectie());
    double t = Math3D.VectorNorm3D(dr2.getDirectie());
    double cosa = (dr1.getDirectie().getX()*dr2.getDirectie().getX() + dr1.getDirectie().getY()*dr2.getDirectie().getY() + dr1.getDirectie().getZ()*dr2.getDirectie().getZ()) / (t*x);
    Punct3D p1 = dr1.getOrigine();
    Punct3D p2 = new Punct3D(), p3 = new Punct3D();
    for (int i=0; i<3; i++)
    {
        p2.set(i, dr1.getOrigine().get(i) + dr1.getDirectie().get(i));
        p3.set(i, dr1.getOrigine().get(i) + dr2.getDirectie().get(i));
    }

    Matrici.Matrice3x3 rot = Math3D.GetMatriceRotatie(p1, p2, p3);
    Punct3D orig = new Punct3D();
    for (int i=0; i<3; i++) …
Run Code Online (Sandbox Code Playgroud)

3d geometry intersection vector line

0
推荐指数
1
解决办法
4374
查看次数