public void createTextViews() {
		
		int count = 1;
		
		for(int i=0;i<3;i++) {
			for(int n=0;n<3;n++) {
				for(int t=0;t<3;t++) {
					for(int e=0;e<3;e++) {
						if(grid[i][n][t][e] != null) {remove(grid[i][n][t][e]);}
						grid[i][n][t][e] = new LimitField(1, 1) {
							public void processKeyEvent(KeyEvent e) {
								char c = e.getKeyChar();
								try {
									if(c > 31 && c < 65535 && c != 127) {
										Integer.parseInt(c + "");
									}
									super.processKeyEvent(e);
								}
								catch(NumberFormatException n) {}
							}							
						};
						
						int x = e*32+e*3+30 + n*107;
						if(n >= 3) {x+=2;}
						if(n >= 6) {x+=2;}
						
						int y = t*32+t*3+30 + i*107;
						if(i >= 3) {y+=2;}
						if(i >= 6) {y+=2;}
						
						grid[i][n][t][e].setBounds(x, y, 32, 32);
						grid[i][n][t][e].setBorder(null);
						grid[i][n][t][e].setFont(new Font("Arial Bold", Font.ROMAN_BASELINE, 24));
						grid[i][n][t][e].setHorizontalAlignment(JTextField.CENTER);
						add(grid[i][n][t][e]);
					}
				}
			}
		}
		
		//Show only clues
		int clueno = 25 - (diffno*4);		
		while(count <= clueno) {
			for(int i=0;i<3;i++) {
				if(count > clueno) {break;}
				for(int n=0;n<3;n++) {
					if(count > clueno) {break;}
					for(int t=0;t<3;t++) {
						if(count > clueno) {break;}
						for(int e=0;e<3;e++) {
							if(count > clueno) {break;}
							if(random.nextInt(81) < clueno) {
								if(grid[i][n][t][e].isEditable()) {
									grid[i][n][t][e].setText(String.valueOf(solution[i][n][t][e]));
									grid[i][n][t][e].setEditable(false);
									count++;
								}
							}
						}
					}
				}
			}
		}
		
		repaint();
		
	}