Tag: swingutilities

Java / Swing:从JPanel中获取Window / JFrame

我怎样才能得到JPanel所在的JFrame? 我目前的解决scheme是问面板的父母(等等),直到我find一个窗口: Container parent = this; // this is a JPanel do { parent = parent.getParent(); } while (!(parent instanceof Window) && parent != null); if (parent != null) { // found a parent Window } 有没有更优雅的方式,标准库中的方法可能是?

Java鼠标事件右键单击

在我的三个button鼠标MouseEvent.BUTTON2 =中间点击和MouseEvent.BUTTON3 =右键单击。 这是在一个双键鼠标的情况下? 谢谢

在运行时更改字体

请问是否有另一种方法如何在运行时改变字体作为使用FontUIResource,整个AWT / Swing GUI,没有任何知识/兴趣,如果有本地variables和types的JComponents import java.awt.*; import java.awt.event.*; import java.util.Locale; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.*; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.basic.BasicComboBoxRenderer; public class SystemFontDisplayer extends JFrame { private static final long serialVersionUID = 1L; private JFrame frame = new JFrame("Nimbus UIDeafaults and Font"); private JComboBox fontsBox; private javax.swing.Timer timer = null; private JButton testButton = new […]

为什么要在主要方法中使用SwingUtilities.invokeLater?

经过多年的Java编程,我总是用这种方式创build我的main()方法: public static void main(String[] args) { runProgram(); } 但是最近我研究了一些来自Web的代码,有时会看到这个代码,而不是上面常用的main()方法: public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { runProgram(); } }); } 我只是想知道: 为什么使用这个而不是通常的main()方法? 当我尝试一下时,我看不出有什么不同。 这两种方式有什么区别? 感谢您阅读我和您的答案。