相关疑难解决方法(0)

如何让JOptionPane对话框显示为任务栏上的任务?

编辑:

问题遵循横向规则; 我自己的答案先于它.


Oscar Reyes的帮助下,我精心设计了这个解决方案:

import javax.swing.JOptionPane;
import javax.swing.JFrame;

public class MyApp extends JFrame {
    public static void main(String [] args) {
        new MyApp();
    }

    public MyApp() {
        super("MyApp");
        setUndecorated(true);
        setVisible(true);
        setLocationRelativeTo(null);
        String i = JOptionPane.showInputDialog(this, "Enter your name:", getTitle(), JOptionPane.QUESTION_MESSAGE);
        if(null != i) {
            JOptionPane.showInputDialog(this, "Your name is:", getTitle(), JOptionPane.INFORMATION_MESSAGE, null, null, i.concat(i));
        }
        dispose();
    }
}
Run Code Online (Sandbox Code Playgroud)

注意我也在JOptionPane.showInputDialog中显示输出.这样输出在文本字段中突出显示,因此我只需按CTRL+ C即可将输出复制到系统剪贴板,然后按下ESC以关闭应用程序.


我为我的琐碎应用程序创建了一个简单的GUI.我的应用程序提示单个输入a JOptionPane.showInputDialog,执行计算,然后用a显示单个输出JOptionPane.showMessageDialog.我有时会切换到最大化的浏览器窗口或其他要复制的内容,然后想切换回我的JOptionPane对话框进行粘贴.

我希望我的JOptionPane对话框显示为任务栏上的任务,因此我可以像几乎任何其他正在运行的程序一样切换到它.我更喜欢JOptionPane的简单性,而不是必须创建JFrame,FlowLayout,Icon,JTextField,JButton,ActionListener等等.

  • JOptionPane可以在任务栏上显示为任务吗?
  • 如果是这样,我该如何让它出现?
  • 如果没有,还有什么是单线的JOptionPane.show[whatever]dialog()吗?

java user-interface swing taskbar joptionpane

17
推荐指数
1
解决办法
9035
查看次数

结合航空玻璃效果和SWT

作为一个宠物项目,我一直在玩将Aero Glass效果集成到我的SWT应用程序中的概念.ŁukaszMilewski有一篇很棒的博客文章,解释了如何实现这一点,这几乎归结为:

final Display display = new Display();
final Shell shell = new Shell(display);
shell.setLayout(new FormLayout());
final MARGINS margins = new MARGINS();
margins.cyTopHeight = -1;

final Composite c = new Composite(shell, SWT.NORMAL);
c.setBackground(new Color(shell.getDisplay(), new RGB(0, 0, 0)));
final FormData fd = new FormData();
fd.top = new FormAttachment(0, 0);
fd.left = new FormAttachment(0, 0);
fd.right = new FormAttachment(100, 0);
fd.bottom = new FormAttachment(100, 0);
c.setLayoutData(fd);

OS.DwmExtendFrameIntoClientArea(shell.handle, margins);

shell.open();
while (!shell.isDisposed()) {
    if (!display.readAndDispatch()) {
        display.sleep();
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好用,直到你想添加一个控件.这导致黑色保持透明: …

java windows swt aero aero-glass

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

Swing的真正透明度

这可以在java swing应用程序中制作aero​​框架吗?

java swing

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

标签 统计

java ×3

swing ×2

aero ×1

aero-glass ×1

joptionpane ×1

swt ×1

taskbar ×1

user-interface ×1

windows ×1