我正在尝试为我的Java代码添加Tiny Look and Feel。我正在使用NetBeans IDE表单设计器,我添加了TinyLaf作为UI管理器。但每当我编译我的程序时,框架的左上角会出现错误。我用鼠标悬停的最后一个按钮将出现在屏幕的左上角(只是它的图像;而不是整个按钮)。
具有不同外观的JFrame出了点问题: -
我按照TinyLaf文档中的说明进行操作:
Toolkit.getDefaultToolkit().setDynamicLayout(true);
System.setProperty("sun.awt.noerasebackground", "true");
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try {
UIManager.setLookAndFeel("de.muntjak.tinylookandfeel.TinyLookAndFeel");
} catch(Exception ex) {
ex.printStackTrace();
}
我还在NetBeans项目的库中添加了TinyLaf。但是,那个图像仍然出现在屏幕上。 我该怎么办?提前谢谢!
答案 0 :(得分:0)
目前,我无法重现您的问题,我同意Apple Push Notification Service:请提供更多代码和其他重要信息。您使用的是哪个版本的TinyLaF(我从camickr尝试过TinyLaF 1.4.0)?你使用特定的主题吗?您使用的是哪个版本的NetBeans?您使用的是哪种表单定义文件?您曾使用哪个布局管理器将按钮放在表单上?
如果您提供了更多信息,您可以让人们进一步帮助您,而不必猜测您项目的详细信息。当我们可以重现您的问题时,我们可以更快地搜索解决方案。请扩展您的问题:我们很乐意为您提供帮助。
使用TinyLaF快速尝试使用TinyLaF的代码如下所示(没有NetBeans,也没有您描述的问题):
import java.awt.*;
import javax.swing.*;
public class TinyLafButtonOnFrame {
public static void main(final String[] arguments) {
new TinyLafButtonOnFrame().launchGui();
}
private void launchGui() {
Toolkit.getDefaultToolkit().setDynamicLayout(true);
System.setProperty("sun.awt.noerasebackground", "true");
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try {
UIManager.setLookAndFeel("de.muntjak.tinylookandfeel.TinyLookAndFeel");
} catch(Exception ex) {
ex.printStackTrace();
}
final JFrame frame = new JFrame("Stack Overflow");
frame.setBounds(100, 100, 800, 600);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
final JPanel panel = new JPanel(new BorderLayout());
panel.add(new JButton("btn1"), BorderLayout.CENTER);
frame.getContentPane().add(panel);
frame.setVisible(true);
}
}