繁体   English   中英

java程序,该程序允许用户使用循环输入许多面板的行和列,但无法找出错误

[英]java program that allows the user to enter a number of columns and rows of panels with a loop but can't figure out the error

该代码已显示在我的教科书中,但是以下代码在编译时似乎有错误。

Color backColor = Color(red,green,blue);
ColorPanel panel = new ColorPanel(backColor);
pane.add(panel);

这是整个代码:

import javax.swing.*; 

import java.awt.*; 
import java.util.Random; 
import javax.swing.JOptionPane; 

public class GUIWindow { 
    public static void main(String [] args){ 
        JFrame theGUI = new JFrame(); 
        theGUI.setTitle("GUI Example"); 
        String inputStr = JOptionPane.showInputDialog("Number of rows", "5"); 
        if( inputStr ==null ) return; 
        int rows = Integer.parseInt(inputStr); 
        String inputStr1 = JOptionPane.showInputDialog("Number of columns", "5"); 
        if(inputStr1 == null)return; 
        int cols = Integer.parseInt(inputStr1); 
        theGUI.setSize(cols*5, rows*5); 
        theGUI.setDefaultCloseOperation(JFram... 
        Container pane = theGUI.getContentPane(); 
        pane.setLayout(new GridLayout(rows,cols)); 
        Random gen = new Random(); 
        for(int i =1; i<= rows*cols; i++){ 
            int red = gen.nextInt(256); 
            int green = gen.nextInt(256);   
            int blue = gen.nextInt(256); 
            Color backColor = new Color(red,green,blue); 
            ColorPanel panel = new ColorPanel(backColor); 
            pane.add (panel); 
        } 
        theGUI.setVisible(true); 
    }
}

您没有导入不是标准swing类的ColorPanel ,必须添加正确的导入,例如( com.some.package名称更正 ):

import com.some.package.ColorPanel; 

我发现的只有与摇摆相关的参考是bycom.esri.arcgis.beans.ui.ColorPanel ,该类扩展了javax.swing.JPanel但不确定是否需要或是否创建了自己的。

只要您的评论说:

@FastSnail:您是否创建了一个名为“ ColorPanel”的类?
@Ayah Al-Harthy:不,这不是在教科书上

并查看代码,您可以将JPanelsetBackground(Color)结合使用来做同样的事情(我想)。 使用Color(int,int,int)构造函数。

Color backColor = new Color(red,green,blue);
JPanel panel = new JPanel();
panel.setBackground(backColor);
// set some dimensions if necessary before adding
panel.add(panel);

另请注意,此行不完整:

theGUI.setDefaultCloseOperation(JFram... 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM