【问题标题】:Java GUI programming: Setting the Fore/BackgroundJava GUI 编程:设置前台/后台
【发布时间】:2011-11-07 15:31:52
【问题描述】:

我刚接触 GUI 编程,慢慢学习。

但是我遇到了问题。我根本无法在我的窗口中更改前景色/背景色。

但是,当我通过 JLabel 添加标签然后使用 setFore/Back 时,它们会很好地改变颜色。只是不是整个窗口。

我认为 .setForeground 和 .setBackground 应该改变窗口的颜色?

import javax.swing.*;
import java.awt.*;

public class MyWindow {

    public static void main(String args[])
    {
         Runnable init = new Runnable()
         {
             public void run()
             {

                    JFrame myWindow = new JFrame("Hola!");
                    myWindow.setForeground(Color.YELLOW);
                    myWindow.setBackground(Color.YELLOW);
                    myWindow.setSize(400, 300);

                    myWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    myWindow.setLayout(null);

                    myWindow.setVisible(true);

             }

         };
         SwingUtilities.invokeLater(init);
    }


}

【问题讨论】:

    标签: java swing user-interface colors jframe


    【解决方案1】:

    首先,不要使用空布局。让布局管理器完成它的工作。其次,您需要设置JFrame实例的内容窗格的背景,这样

    myWindow.getContentPane().setBackground(Color.YELLOW);
    

    另见:

    【讨论】:

    【解决方案2】:

    您不能为框架着色。但是,您可以为里面的 ContentPane 着色。

    import javax.swing.*;
    import java.awt.*;
    
        public class MyWindow {
    
            public static void main(String args[])
            {
                 Runnable init = new Runnable()
                 {
                     public void run()
                     {
    
                            JFrame myWindow = new JFrame("Hola!");
    
        myWindow.getContentPane().setBackground(Color.YELLOW);
    
                            myWindow.setSize(400, 300);
    
                            myWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                            myWindow.setLayout(null);
    
                            myWindow.setVisible(true);
    
                     }
    
                 };
                 SwingUtilities.invokeLater(init);
            }  
        }
    

    这应该可以解决您的问题...

    【讨论】:

      【解决方案3】:

      tangina naman ang bobo naman neto, pokegooo

      导入 javax.swing.; 导入 java.awt.;

      public class MyWindow {
      
          public static void main(String args[])
          {
               Runnable init = new Runnable()
               {
                   public void run()
                   {
      
                          JFrame myWindow = new JFrame("Hola!");
      
      myWindow.getContentPane().setBackground(Color.YELLOW);
      
                          myWindow.setSize(400, 300);
      
                          myWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                          myWindow.setLayout(null);
      
                          myWindow.setVisible(true);
      
                   }
      
               };
               SwingUtilities.invokeLater(init);
          }  
      }
      

      // tanga amputa aral ka muna dudong // 帕康康

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-11
        • 1970-01-01
        相关资源
        最近更新 更多