java菜单面板设置完能关闭_用Java创建一个屏幕外框架(或者:当所有应用程序窗口关闭时,如何避免Mac上的空白菜单)?...
你一定要考慮WizardOfOdds非常有用的答案.正確使用
“The Application Menu”將有所幫助,并且很容易設(shè)置最小的
Info.plist開始.持久的文件菜單將允許您的應(yīng)用程序在其他人關(guān)閉時(shí)打開一個(gè)新窗口.這個(gè)
answer鏈接到一個(gè)簡(jiǎn)單的
example.
雖然Apple的Human Interface Guidelines是您用戶期望的絕佳指南,但您當(dāng)然可以嘗試使用您在問題中建議的方法.特別是,您可以在不可見窗口上嘗試setLocation(Short.MIN_VALUE,Short.MIN_VALUE).此外,如果它發(fā)出最后一個(gè)可見窗口的關(guān)閉信號(hào),您可能希望以某種特殊方式響應(yīng)WindowEvent.
附錄:當(dāng)您的偵聽器看到最后一個(gè)可見窗口關(guān)閉時(shí),創(chuàng)建一個(gè)新的空應(yīng)用程序窗口.或者,在屏幕上移動(dòng)不可見窗口并使其可見,直到用戶決定如何繼續(xù).
附錄:Mac OS X有助于防止可見窗口形式在屏幕外移動(dòng),但很容易將不可見的窗口置于不穩(wěn)定狀態(tài),如下所示.
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JToggleButton;
public class FrameTest extends JFrame {
private static FrameTest marco;
private static FrameTest polo;
private static class MyPanel extends JPanel {
public MyPanel() {
super(true);
final JToggleButton b = new JToggleButton("Test");
b.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (b.isSelected()) {
polo.setLocation(100, 100);
polo.setVisible(true);
}
else {
polo.setVisible(false);
polo.setLocation(Short.MIN_VALUE, Short.MIN_VALUE);
}
}
});
this.add(b);
}
}
public FrameTest(String title) {
super(title);
this.setLayout(new BorderLayout());
this.add(new MyPanel());
this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(final String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
marco = new FrameTest("Marco");
marco.setLocationRelativeTo(null);
marco.setVisible(true);
polo = new FrameTest("Polo");
polo.setLocation(Short.MIN_VALUE, Short.MIN_VALUE);
}
});
}
}
總結(jié)
以上是生活随笔為你收集整理的java菜单面板设置完能关闭_用Java创建一个屏幕外框架(或者:当所有应用程序窗口关闭时,如何避免Mac上的空白菜单)?...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我在b站上大学:计算机类优秀网课汇总【持
- 下一篇: 包装类java_Java 包装类