România
Roportal.ro

JAVA ROMBUS

Început de Sweetalice90, Mar 11 ian 2011 · 0 răspunsuri · 1.654 vizualizări

Sweetalice901 mesaje#1

Ce am gresit aici?...

import java.awt.Color;

import java.awt.Component;

import java.awt.Graphics;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.LinkedList;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

@SuppressWarnings("serial")

public class Rombus extends JFrame{

LinkedList<Character> digits = new LinkedList<Character>();

LinkedList<Character> chars = new LinkedList<Character>();

LinkedList<Character> chars2 = new LinkedList<Character>();

LinkedList<Point> points;

Panel panel;

JPanel smallPanel = new JPanel();

static JLabel[] label = new JLabel[12];

JLabel[] labelD = new JLabel[9];

JLabel[] label2 = new JLabel[4];

public Rombus(){

setVisible(true);

setLayout(null);

setBounds(0,0,367,500);

getContentPane().setBackground(Color.white);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

final JTextField text = new JTextField(100);

text.setBounds(100,390,130,15);

text.setLayout(null);

panel = new Panel();

for (int i=0; i<panel.points.size(); i++){

label = new JLabel("",JLabel.CENTER);

label.setBounds(panel.points.get(i).y*50,panel.points.get(i).x*50,50,50);

label.setLayout(null);

this.add(label);

}

for (int i=0; i<panel.points2.size(); i++){

label2 = new JLabel("",JLabel.CENTER);

label2.setBounds(panel.points2.get(i).y*50,panel.points2.get(i).x*50,50,50);

label2.setLayout(null);

this.add(label2);

}

for (int i=0; i<panel.pointsD.size(); i++){

labelD = new JLabel("",JLabel.CENTER);

labelD.setBounds(panel.pointsD.get(i).y*50,panel.pointsD.get(i).x*50,50,50);

labelD.setLayout(null);

this.add(labelD);

}

text.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if(e.getSource()==text){

String str = text.getText();

while (str.length()<25){

str+=str;

}

digits = new LinkedList<Character>();

chars = new LinkedList<Character>();

chars2 = new LinkedList<Character>();

for (int i=0; i<str.length(); i++){

if (Character.isDigit(str.charAt(i))){

if (digits.size()<9)

digits.add(str.charAt(i));

}

else {if (chars.size()<12)

chars.add(str.charAt(i));

else if(chars2.size()<4)

chars2.add(str.charAt(i));

}

}

int i=0;

while (digits.size()!=0 && digits.size()<9){

digits.add(digits.get(i));

i++;

}

start();

}

}

});

final JButton button = new JButton("Pas");

button.setBounds(125,410,75,15);

button.setLayout(null);

this.add(text);

this.add(button);

button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if(e.getSource()==button){

pas();

}}} );

this.add(panel);

panel.repaint();

text.repaint();

button.repaint();

}

void start(){

for (int i=0; i<chars.size(); i++){

label.setText(chars.get(i).toString());

}

for (int i=0; i<chars2.size(); i++){

label2.setText(chars2.get(i).toString());

}

for (int i=0; i<digits.size(); i++){

labelD.setText(digits.get(i).toString());

}

if (digits.size()!=0)

digits.removeLast();

}

void pas(){

if (chars.size()!=0){

chars.addFirst(chars.getLast());

chars.removeLast();

for (int i=0; i<chars.size(); i++){

label.setText(chars.get(i).toString());

}

}

if (chars2.size()!=0){

chars2.addFirst(chars2.getLast());

chars2.removeLast();

for (int i=0; i<chars2.size(); i++){

label2.setText(chars2.get(i).toString());

}

}

if (digits.size()!=0){

digits.addLast(digits.getFirst());

digits.removeFirst();

for (int i=0; i<digits.size(); i++){

labelD.setText(digits.get(i).toString());

}

}

}

public static void main(String[] args){

new Rombus();

}

}

class Point{

int x;

int y;

public Point(int x,int y){

this.x=x;

this.y=y;

}

}

class Panel extends JPanel{

/**

*

*/

private static final long serialVersionUID = 1L;

LinkedList<Point> points;

LinkedList<Point> points2;

LinkedList<Point> pointsD;

public Panel(){

setBounds(0,0,368,368);

setBackground(Color.white);

points = new LinkedList<Point>();

{

points.add(new Point(0,3));

points.add(new Point(1,4));

points.add(new Point(2,5));

points.add(new Point(3,6));

points.add(new Point(4,5));

points.add(new Point(5,4));

points.add(new Point(6,3));

points.add(new Point(5,2));

points.add(new Point(4,1));

points.add(new Point(3,0));

points.add(new Point(2,1));

points.add(new Point(1,2));

}

points2 = new LinkedList<Point>();

{

points2.add(new Point(2,3));

points2.add(new Point(3,4));

points2.add(new Point(4,3));

points2.add(new Point(3,2));

}

pointsD = new LinkedList<Point>();

{

pointsD.add(new Point(1,3));

pointsD.add(new Point(2,4));

pointsD.add(new Point(3,5));

pointsD.add(new Point(4,4));

pointsD.add(new Point(5,3));

pointsD.add(new Point(4,2));

pointsD.add(new Point(3,1));

pointsD.add(new Point(2,2));

pointsD.add(new Point(3,3));

}

}

public void paint(Graphics g){

int i,k=0;

g.setColor(Color.LIGHT_GRAY);

for (i=0; i<points.size(); i++){

g.fillRect(points.get(i).x*50,points.get(i).y*50,50,50);

}

for (i=0; i<points2.size(); i++){

g.fillRect(points2.get(i).x*50,points2.get(i).y*50,50,50);

}

for (i=0; i<8; i++){

g.setColor(Color.red);

g.drawLine(i*50,0,i*50,350);

}

for (i=0; i<8; i++){

g.drawLine(0,i*50,350,i*50);

}

}

}

← Înapoi la Programare