为啥我的 java 应用程序模糊? [复制]

Posted

技术标签:

【中文标题】为啥我的 java 应用程序模糊? [复制]【英文标题】:Why is my java application blurry? [duplicate]为什么我的 java 应用程序模糊? [复制] 【发布时间】:2014-11-15 12:36:42 【问题描述】:

这就是我想做的

这是我运行 java 应用程序时显示的内容。 (见我按钮上的文字,文本框中的文字是java)

我在 Windows 7 上使用 Eclipse Luna。

PS:My labels are blurry in Java 没有任何帮助

public class DownloadManager 

    private JFrame frame;
    private JTable table;
    private JTextField txtUrl;

    public static void main(String[] args) 
        EventQueue.invokeLater(new Runnable() 
            public void run() 
                try 
                    DownloadManager window = new DownloadManager();
                    window.frame.setVisible(true);
                 catch (Exception e) 
                    e.printStackTrace();
                
            
        );
    

    public DownloadManager() 
        initialize();
    

    private void initialize() 
        frame = new JFrame();
        frame.setBounds(100, 100, 752, 514);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);

        table = new JTable();
        table.setBounds(47, 190, 629, 250);
        frame.getContentPane().add(table);

        txtUrl = new JTextField();
        txtUrl.setBounds(47, 84, 391, 34);
        frame.getContentPane().add(txtUrl);
        txtUrl.setColumns(10);

        JButton btnDownload = new JButton("Download");
        btnDownload.addActionListener(new ActionListener() 
            public void actionPerformed(ActionEvent arg0) 
            
        );
        btnDownload.setBounds(534, 78, 99, 47);
        frame.getContentPane().add(btnDownload);
    

编辑:Swing rendering appears broken in JDK 1.8, correct in JDK 1.7 建议的解决方案,即将 NVIDIA GeForce 630M 的能量控制设置更改为最高性能并没有帮助。

【问题讨论】:

您认为两张照片就是我们解决您的问题所需的全部信息? @AliAmiri 我添加了整个类的代码 您好,您可以在这里找到答案:***.com/questions/22737535/… 【参考方案1】:

使用layout manager 来减轻上面显示的伪影。下面的例子nests一个JPanel在另一个。

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;

public class DownloadManager 

    private JFrame frame;
    private JTable table;
    private JTextField txtUrl;

    public static void main(String[] args) 
        EventQueue.invokeLater(new Runnable() 
            public void run() 
                try 
                    DownloadManager window = new DownloadManager();
                    window.frame.setVisible(true);
                 catch (Exception e) 
                    e.printStackTrace();
                
            
        );
    

    public DownloadManager() 
        initialize();
    

    private void initialize() 
        frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        table = new JTable() 
            @Override
            public Dimension getPreferredScrollableViewportSize() 
                return new Dimension(320, 240);
            
        ;
        frame.add(new JScrollPane(table), BorderLayout.CENTER);
        txtUrl = new JTextField(12);
        txtUrl.setColumns(10);
        JButton btnDownload = new JButton("Download");
        btnDownload.addActionListener(new ActionListener() 
            @Override
            public void actionPerformed(ActionEvent arg0) 
            
        );
        JPanel panel = new JPanel();
        panel.add(txtUrl);
        panel.add(btnDownload);
        frame.add(panel, BorderLayout.NORTH);
        frame.pack();
    

【讨论】:

以上是关于为啥我的 java 应用程序模糊? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

我的图像很模糊!为啥 WPF 的 SnapsToDevicePixels 不起作用?

为啥我可以将 java 应用程序连接到 MySQL DB 但无法执行查询? [复制]

为啥我的 SVG 图像在设备 API 16 和 API 27 中看起来很模糊

为啥我的 Flask 应用程序无法连接到我的 CSS 文件? [复制]

为啥我的 pygame 应用程序循环不能正常工作? [复制]

为啥当我推送我的应用程序时我的 cli 会出错? [复制]