Articles of swing

我怎样才能运行我的Java应用程序的虚拟屏幕?

在Linux中,我们有像桌面1,2,3,4这样的虚拟屏幕。大多数情况下我们使用桌面1(屏幕1和一个显示器)。 现在,我的问题是我怎么能告诉我的Java应用程序启动桌面2(屏幕2,与一个监视器) 默认情况下,当我运行java -cp /var/tmp/SystemX.jar run.X时,它将在桌面1,屏幕1中启动。哪一个不是我的情况。 试过:以下但没有帮助的原因,它运行双监视器场景。 不是我所期待的。 screen = Toolkit.getDefaultToolkit().getScreenSize(); GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] screenDevices = ge.getScreenDevices(); for (int i = 0; i < screenDevices.length; i++) { System.out.println(screenDevices[i].getIDstring()); int screenWidth = 1024; int screenHeight = 764; if (screenDevices[i].getDisplayMode()!=null) { DisplayMode dm = screenDevices[i].getDisplayMode(); screenWidth = dm.getWidth(); screenHeight = dm.getHeight(); } System.out.println("[myResolution]: " + […]

Linux上的JTree背景色与系统的外观和感觉

我正试图自定义一个JTree有一个黑暗的背景和光前景。 我的问题可以在下面的截图中看到: 我最终得到的是部分定制的背景(白色也是黑色的)。 这个问题似乎发生在OpenJDK 7的Ubuntu Linux 12.04上。在Windows或Mac上看起来没问题。 另外,如果我切换到跨平台的外观和感觉,那也没关系。 以下是示例代码: package com.tt.examples; import java.awt.Color; import java.awt.Component; import java.awt.Graphics; import java.awt.GridLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTree; import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.WindowConstants; import javax.swing.tree.DefaultTreeCellRenderer; @SuppressWarnings("serial") public class TreeExample extends JFrame { private TreeExample() { setTitle("TreeExample"); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setSize(320, 240); setLayout(new GridLayout(1, 1)); JTree tree = new JTree(); […]

Java BeautyEye外观和感觉为空的JMenuBar项目

我在Java桌面程序中使用BeautyEye外观,但最近发现JMenuBar显示了Empy JMenuItems,如下面的屏幕截图所示。 正如你所看到的,菜单的区域在那里,但是与Jframe contentPane颜色相同,并且没有可见的菜单文本。 一个样本程序来testing这个(从这里下载BeautyEye库)是: import java.awt.*; import javax.swing.*; import org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper; public class JavaMenuBarExample implements Runnable { private JFrame frame; private JMenuBar menuBar; private JMenu fileMenu; private JMenuItem openMenuItem; public static void main(String[] args) { try { BeautyEyeLNFHelper.frameBorderStyle = BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelDecorated; org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF(); UIManager.put("RootPane.setupButtonVisible", Boolean.FALSE); } catch (Exception ex) { ex.printStackTrace(); } // the proper way to […]

在Linux下的Swing框架之间切换时的白色屏幕

我将一个Java Swing应用程序从Windows移植到Linux。 在Linux上 – 当应用程序在JFrame之间切换时,会出现一瞬间白屏。 Windows上的同一应用程序不会发生这种情况。 我相信,当新的画面被重新绘制时出现白色的画面。 任何想法如何解决它? 以下是在帧(页面)之间切换的代码: public void goToPage(int page) { screens[page].bringToFront(true); if (page != currentFrame) { screens[page].setVisibility(true); screens[currentFrame].setVisibility(false); currentFrame = page; } }

将标题栏添加到JFrame(Linux)

我正试图添加一个标题栏与“X”button到应用程序。 我已经阅读了关于Java的外观和感觉,但是我不知道我在想什么(我刚刚创build了一个桌面应用程序,添加了一个JFrame表单,并拖放了一个表格 – 没有任何逻辑)。 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package javaapplication14; import framez.NewJFrame; /** * * @author uluroki */ public class JavaApplication14 { /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the […]

如何左alignment不同操作系统之间的JFrame标题文本

它看起来像操作系统正在控制整个JFrame标题栏。 我试过使用: UIManager.setLookAndFeel() 改变外观和感觉,但似乎并没有影响标题栏。 在我的Windows机器上,默认是左alignment的,但是在我的Linux机器上它是居中的,不知何故,我想试着总是显示左alignment的标题文本。 我看到一个例子,他们从头开始build立标题栏的每个元素,我宁愿不去那里。 有没有其他办法可以做到这一点? 谢谢!

为什么我的Java swing窗口不显示?

所以我开始学习Java Swing,跟随YouTubevideo..在Linux Ubuntu 14.04中安装了Java 8和NetBeans 8.0。 创build了一个新的Java应用程序,并编写了以下代码: package basicswing; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JButton; public class BasicSwing extends JFrame { JPanel p = new JPanel(); JButton b = new JButton("Hello"); public static void main(String[] args) { new BasicSwing(); } public BasicSwing() { super("Basic Swing App"); setSize(400,300); setResizable(true); setDefaultCloseOperation(EXIT_ON_CLOSE); p.add(b); add(p); setVisible(true); } } 当我清理,生成,然后运行项目,它显示一个Java项目正在运行,但我没有看到框架,它不会popup..我其实不认为这是一个代码问题,我已经用不同的代码试过了,框架仍然不显示。 […]

如何在Java Swing中以Gnome和KDE的方式启动网站

正如上一个问题的提纲,我问道。 一个网站可以通过这样做启动: Desktop.getDesktop().browse(new java.net.URI("www.google.com")); 这在Ubuntu(gnome)中工作正常,但在OpenSUSE(KDE风格)中似乎不起作用。 Sun有一个关于这个问题的bug。 任何想办法做到这一点,这将在侏儒和KDE。

如何使用super()对Frame()进行内部构造?

如何在Frame()中使用super()的内部函数进行初始化? 就像下面的一个有效的方式一样,这样框架和所有超级相关的都有一个颜色RED? 注意:基本上右边的红色框不应该显示,因为颜色(r,g,b,ALPHA); public class 999 extends Window { private JLabel label; private JButton button; private static final Canvas canvas = new Canvas(); private static final Canvas canvas0 = new Canvas(); private JLayeredPane layers; public 999() { super(new Frame()); // Please make this **TRANSPARENT** getOwner().setBackground( new Color(255, 0, 0, 0) ); layers = new JLayeredPane(); […]

使用SwingWorker / Swing跟踪wget(bash)的进度

我正在尝试制作一个GUI,用户可以下载文件。 目前,我可以通过一个过程调用wget命令,但是我正在努力将它与swingworker一起使用。 如何跟踪下载和更新gui的进度? 目前我已经尝试使用这种方法: ShellProcess.command("wget –progress=dot "+_url); where命令是创build过程的方法: InputStream stdout = _process.getInputStream(); BufferedReader stdoutBuffered =new BufferedReader(new InputStreamReader(stdout)); String line = null; String output =""; try { while ((line = _stdoutBuffered.readLine()) != null ) { // System.out.println(line); output+=(line+" "); System.out.println(line +" SHELL"); _progress++; } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } […]