相关疑难解决方法(0)

在半透明框架/面板/组件上重新涂漆.

我正在尝试在OSX上创建一个带有Java的半透明窗口并添加一个JLabel.

JLabel会每秒改变它的文字......

替代文字

然而,该组件不能很好地重新粉刷.

我怎么解决这个问题?

我找到了这些 文章,但我无法弄清楚如何解决它.

如果可能的话,请粘贴修复源代码,这是我的:

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.Color;
import java.awt.Font;
import java.util.Timer;
import java.util.TimerTask;

public class Translucent {
    public static void main( String [] args ) {

        JFrame frame = new JFrame();

        frame.setBackground( new Color( 0.0f,0.0f,0.0f,0.3f));

        final JLabel label =  new JLabel("Hola");
        label.setFont( new Font( label.getFont().getFamily(), Font.PLAIN, 46 ) );
        label.setForeground( Color.white );

        frame.add( label );
        frame.pack();
        frame.setLocationRelativeTo( null );
        frame.setVisible( true );

        Timer timer = new …
Run Code Online (Sandbox Code Playgroud)

java macos swing awt paint

15
推荐指数
1
解决办法
2万
查看次数

如何使用Nimbus外观改变JPanels的背景颜色?

我想为应用程序中的所有JPanel使用不同的背景颜色.使用Nimbus外观时我该怎么做?

我按照更改颜色主题来更改Nimbus外观中的组件颜色.

它有时只能随机工作.如果我PropertyChagneListener在更改颜色之前设置了一个,则只会通知一次.

这是一些测试代码:

public class RedPanels extends JFrame {

  public RedPanels() {
    JPanel panel = new JPanel();
    add(panel);
    setPreferredSize(new Dimension(100, 100));
    pack();
    setVisible(true);
  }

  public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {

      @Override
      public void run() {

        try {
          for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
                UIManager.setLookAndFeel(info.getClassName());
                UIManager.getDefaults().addPropertyChangeListener(
                                               new PropertyChangeListener() {

                  @Override
                  public void propertyChange(PropertyChangeEvent event) {
                    if (event.getPropertyName().equals("Panel.background")) {
                      System.out.println("color changed");
                    }

                });
                UIManager.put("Panel.background", new Color(255,0,0));
                break; …
Run Code Online (Sandbox Code Playgroud)

java swing colors nimbus uimanager

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×2

swing ×2

awt ×1

colors ×1

macos ×1

nimbus ×1

paint ×1

uimanager ×1