Ahoj, potřeboval bych vytvořit nějaký čtverec v Jave. koukal jsem že to jde nějak přes funkci shape nebo nějak tak. prosím o radu případně stránku nebo knihu kde můžu tento materiál nastudovat.
Fórum › Java
Java shape čtverec

Jak myslíš vytvořit?
já mam jednoduchý program. Je o tom že tam na plátně jsou tlačítka doprava, doleva, nahoru, dolu a pomocí nich ovládám čtverec. Já to napsal ale není to dokonalý protože ten čtverec jsem vypreparoval z nějaký aplikace. pro jistotu přiložím můj kód. Nejsem žádný velký programátor. ještě jedna věc. neumím resetovat plátno takže mam tam setVisible(true a false) občas se to nenačte tak stačí maximalizovat plátno.
package hraPKG;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
class MC extends JComponent {
private static int osaY=325;
private static int osaX=325;
public void paint(Graphics g) {
g.fillRect (osaY, osaX, 50, 50);
}
public void nastavX(int vysledekX){osaX=vysledekX; }
public void nastavY(int vysledekY){osaY=vysledekY; }
public int ziskejX(){return osaX; }
public int ziskejY(){return osaY; }
}
public class Platno1 {
public static void main(String[] a) {
final MC mc=new MC();
final JFrame window = new JFrame();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setSize(700, 700);
window.setResizable(true);
window.getContentPane().add(new MC());
JPanel pane=new JPanel();
reset(window);
JButton but1=new JButton("doprava");
but1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
int vysledek=mc.ziskejY();
vysledek+=50;
mc.nastavY(vysledek);
reset(window);
}
});
JButton but2=new JButton("doleva ");
but2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
int vysledekY=mc.ziskejY();
vysledekY-=50;
mc.nastavY(vysledekY);
reset(window);
}
});
JButton but3=new JButton("nahoru ");
but3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
int vysledekX=mc.ziskejX();
vysledekX-=50;
mc.nastavX(vysledekX);
reset(window);
}
});
JButton but4=new JButton("dolu ");
but4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
int vysledek=mc.ziskejX();
vysledek+=50;
mc.nastavX(vysledek);
reset(window);
}
});
JButton but5=new JButton("uložit ");
but5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
}
});
JButton but6=new JButton("načíst ");
but6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
}
});
JButton but7=new JButton("reset ");
but7.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
int vysledekX=mc.ziskejX();
mc.nastavX(vysledekX);
int vysledekY=mc.ziskejY();
mc.nastavX(vysledekY);
reset(window);
}
});
window.add(pane);
pane.add(but1 ); pane.add(but2 ); pane.add(but3 ); pane.add(but4 ); pane.add(but5 ); pane.add(but6 ); pane.add(but7 );
}
public static void reset(JFrame window) {
window.setVisible(false);
window.setVisible(true);
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MC extends JComponent {
private int osaX = 325;
private int osaY = 325;
public void paint(Graphics g) {
g.fillRect(osaX, osaY, 50, 50);
}
public void nastavX(int X) { osaX = X; }
public void nastavY(int Y) { osaY = Y; }
public int ziskejX() { return osaX; }
public int ziskejY() { return osaY; }
}
public class Platno1 {
public static void main(String[] a) {
final MC mc = new MC();
final JFrame frame = new JFrame();
frame.setSize(700, 700);
frame.setResizable(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton but1 = new JButton("doprava");
but1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
mc.nastavX(mc.ziskejX() + 50);
mc.repaint();
}
});
JButton but2 = new JButton("doleva ");
but2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
mc.nastavX(mc.ziskejX() - 50);
mc.repaint();
}
});
JButton but3 = new JButton("nahoru ");
but3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
mc.nastavY(mc.ziskejY() - 50);
mc.repaint();
}
});
JButton but4 = new JButton("dolu ");
but4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
mc.nastavY(mc.ziskejY() + 50);
mc.repaint();
}
});
JButton but5 = new JButton("uložit ");
but5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
JButton but6 = new JButton("načíst ");
but6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
JButton but7 = new JButton("reset ");
but7.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
mc.nastavX(mc.getWidth() / 2);
mc.nastavY(mc.getHeight() / 2);
mc.repaint();
}
});
JPanel panel1 = new JPanel();
panel1.setBorder(BorderFactory.createLineBorder(Color.blue));
panel1.add(but1);
panel1.add(but2);
panel1.add(but3);
panel1.add(but4);
panel1.add(but5);
panel1.add(but6);
panel1.add(but7);
JPanel panel2 = new JPanel(new BorderLayout());
panel2.setBorder(BorderFactory.createLineBorder(Color.red));
panel2.add(mc, BorderLayout.CENTER);
frame.getContentPane().add(panel1, BorderLayout.NORTH);
frame.getContentPane().add(panel2, BorderLayout.CENTER);
frame.setVisible(true);
}
}
Ta vrací "content pane", tedy to, do čeho se vkládá obsah.
http://docs.oracle.com/javase/tutorial/uiswing/components/toplevel.html
http://docs.oracle.com/javase/tutorial/uiswing/components/rootpane.html

Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
































Uživatelé prohlížející si toto vlákno
Podobná vlákna
Vytiskni čtverec * — založil klara
Čtverec podle čísla — založil LeArnie
Magický čtverec-náhodné čísla — založil Skywalker00
Jak nakreslit semi transparentní čtverec? — založil oxidián
čtverec (box) se nechce hýbat (livewires) — založil Ahoj3
Moderátoři diskuze