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

时间:2015-09-15 14:45:55

标签: java swing awt

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

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); 
    }
}

1 个答案:

答案 0 :(得分:3)

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

javax.swing.JPanel

我发现只有引用与swing相关的内容是bycom.esri.arcgis.beans.ui.ColorPanel,此类扩展JPanel但不确定您是否需要或是否创建了自己的内容。

只要你的评论说:

  

@FastSnail:你创建了一个名为“ColorPanel”的类吗?   @Ayah Al-Harthy:不,它不在教科书上

在查看代码时,您可以setBackground(Color)使用Color backColor = new Color(red,green,blue); JPanel panel = new JPanel(); panel.setBackground(backColor); // set some dimensions if necessary before adding panel.add(panel); 来执行相同的操作(我猜)。使用Color(int,int,int)构造函数。

theGUI.setDefaultCloseOperation(JFram... 

另请注意,此行不完整:

<sqlMapConfig>
    <settings useStatementNamespaces="true" /> <!-- add this line -->
    <sqlMap resource="ibatis/Web-Registration-Report.xml" />
</sqlMapConfig>