相关疑难解决方法(0)

如何将窗户拉到前面?

当远程控制机制激活应用程序中的某些内容时,我们需要将Java应用程序带到前台.

为了得到这个,我们在类的被调用方法中实现了代表我们的应用程序的框架(a的扩展JFrame)在实现之后:

setVisible(true);
toFront();
Run Code Online (Sandbox Code Playgroud)

在Windows XP下,这在第一次调用时工作,第二次只有任务栏中的选项卡闪烁,框架不再出现在前面.Win2k也是如此.在Vista上似乎工作正常.

你有什么想法?

java windows swing awt

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

来自命令行程序的JFileChooser并弹出所有窗口下方

我已经在我的命令行程序中实现了jFileChooser,它的工作正常,只有一个烦人的问题.它似乎在每个窗口下方打开,没有任何警报.事实上,我甚至错过了几次,首先让我相信我已经错误地实施了它.

我已经实现了如下:

System.out.println("Please select the file");
JFileChooser fc = new JFileChooser();
int retValue = fc.showOpenDialog(new JPanel());
if(retValue == JFileChooser.APPROVE_OPTION){
    g.inputFile = fc.getSelectedFile();
}else {
    System.out.println("Next time select a file.");
    System.exit(1);
}
Run Code Online (Sandbox Code Playgroud)

基本上我只想要jFileChooser,以便让用户选择一个文件作为输入文件.这是唯一需要GUI实现的组件,因此如果我可以避免编写GUI,那将会很有帮助.

java swing command-line jfilechooser awt

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

如何在JPopupMenu中获得焦点

我是一名经验丰富的Java程序员,但是一个Swing新手所以请耐心等待我.

我希望有一个具有键盘焦点的JPopupWindow.我想响应箭头键,转义(关闭菜单)和回车(调用项目).我必须在菜单中添加一个KeyListener并自己编码所有这些,或者是否有某种"模式"我可以设置来激活这种行为,这似乎应该是标准的.

JPopupMenus上的标准Swing教程部分仅讲述助记符和加速器.我并不特别想要那些.

很难相信这完全违背了JPopupMenu的内容.

什么是获得我想要实现的东西的最佳方法?

java swing focus jpopupmenu

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

使用Nimbus LAF的Mac键盘快捷键

有没有办法在OS X上使用Nimbus LAF(外观和感觉),同时仍然能够使用该Meta键进行剪切/复制/粘贴和选择所有操作?

我目前在我的Swing应用程序的main方法中有以下代码,它根据操作系统更改了LAF(OS X的默认值,所有其他的Nimbus):

if (!System.getProperty("os.name", "").startsWith("Mac OS X")) {
    try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
                javax.swing.UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        }
    } catch (ClassNotFoundException ex) {
        java.util.logging.Logger.getLogger(LicenseInspectorUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(LicenseInspectorUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(LicenseInspectorUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(LicenseInspectorUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
}
Run Code Online (Sandbox Code Playgroud)

我这样做是一种解决方法,因为Nimbus会覆盖在OS X上剪切/复制/粘贴和select-all的键盘快捷键(Meta键与Ctrl键).如果只是键盘快捷键没有被覆盖,我宁愿一直使用Nimbus.

java macos swing keyboard-shortcuts nimbus

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

如何在java中将图像添加到表单

我正在使用JDeveloper在java中设计一个表单.我是JDeveloper的新手.在JDeveloper工具中,我没有找到任何选项来直接添加像.Net这样的形式的图像.我不知道如何手动添加图像.有没有其他方法来解决它.所以请帮我解决一下.

java swing image jdeveloper

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

如何在Swing中自动调整窗口大小

我需要在JFrame中显示图像.如何根据图像的大小自动调整窗口大小.

java swing image jframe

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

Mac OS中的Java弹出菜单

当用户右键单击我的JTable时,我正试图获得JPopUpMenu节目.在我的扩展JTable的类中,我调用以下代码:

addMouseListener(new MouseAdapter()
    {
        @Override
        public void mouseReleased(MouseEvent e)
        {
            rowClicked = rowAtPoint(e.getPoint());
            colClicked = columnAtPoint(e.getPoint());
            if (e.isPopupTrigger())
            {
                popUpMenu.show(e.getComponent(), e.getX(), e.getY());
            }
        }

        @Override
        public void mouseClicked(MouseEvent e)
        {
            rowClicked = rowAtPoint(e.getPoint());
            colClicked = columnAtPoint(e.getPoint());

            if(e.isPopupTrigger())
            {
                popUpMenu.show(e.getComponent(), e.getX(), e.getY());
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

每当我右键单击跟踪板,使用鼠标或使用ctrl +右键单击时,if(e.isPopupTrigger())永远不会评估为true,并且菜单永远不会显示.我在那里有断点来验证.

我在网上做了一些研究,似乎这个解决方案应该有效.由于右键单击取决于平台,因此使用isPopupTrigger()应该是最佳选择.

因为我在Mac上有什么特别的东西吗?

java macos swing

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

如何在Java中进行系统捷径跨平台集成?

您可能知道,Mac OS X中保存的快捷方式是 Cmd+S在Windows上Ctrl+S,并且关闭应用程序的简短操作就是 Cmd+QWindows Alt + F4.但问题是如何在Java应用程序中执行这些操作?我是否需要找到我在应用程序中使用的所有快捷方式,并且匹配相关功能取决于不同的操作系统.有什么建议?谢谢.

java cross-platform keyboard-shortcuts

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

在 actionPerformed (Java Swing) 上单击按钮时,如何识别是否选择了 shift?

我试图在按下 JButton 的同时创建一个不同的actionPerformedwhen Shift,但是当我使用时: event.isShiftDown; 我的程序无法编译,因为它无法识别它。

java swing shift jbutton

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

Java Swing - ActionListener比KeyListener慢得多

对于一个程序,当按下按钮"1"时,我正在使用KeyListener向ArrayList添加内容.此列表中的对象不断可视化.使用KeyListener,即使按下按钮,这也能流畅地工作.

后来,我在GUI中添加了一个JMenuBar.向ArrayList添加内容现在有一个自己的JMenuItem,其加速器设置为KeyStroke'1',ActionListener执行与之前的KeyListener相同的东西.但是,现在的表现非常糟糕.按下'1'将会非常滞后,与KeyListener相比,速度非常慢.

为什么这么慢?难道我做错了什么?有没有更好的办法?

    ...
    AL al = new AL();
    menu.add(createMenuItem("Add", KeyEvent.VK_1, al));
}

private JMenuItem createMenuItem(String text, int key, ActionListener al){
    JMenuItem menuItem = new JMenuItem(text);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(key, 0));
    menuItem.addActionListener(al);
    return menuItem;
}

private class AL implements ActionListener{
    public void actionPerformed(ActionEvent e){
        int keycode = ((JMenuItem)e.getSource()).getAccelerator().getKeyCode();
        bla(keycode);
    }
}
Run Code Online (Sandbox Code Playgroud)

java swing

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

单击jFileChooser中的打开按钮后如何打开文件?

这是我的 jFileChooser 摆动代码,它在单击打开按钮后打开另一个窗口。然后我们需要在第二个窗口中选择相应的文件,以便实际打开该文件。我需要对第一个窗口本身进行所有操作。

import com.opencsv.CSVReader;

import java.awt.*;
import java.awt.event.*;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;
/*
 * Created by JFormDesigner on Tue Sep 22 13:24:36 IST 2015
 */



/**
 * @author Avinash Raj
 */
public class FileChooser extends JFrame {
    private JFileChooser fileChooser1;
    public FileChooser() {
        initComponents();
    }

    private void fileChooser1ActionPerformed(ActionEvent e) {

        int returnVal = fileChooser1.showOpenDialog(FileChooser.this);

        if (returnVal == JFileChooser.APPROVE_OPTION) {
            //File file = fc.getSelectedFile();
            setVisible(false);
            String path=fileChooser1.getSelectedFile().getAbsolutePath();
            String filename=fileChooser1.getSelectedFile().getName();
            //This is where a real …
Run Code Online (Sandbox Code Playgroud)

java swing jframe

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