Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.EventQueue;
- import java.awt.Graphics;
- import java.awt.Toolkit;
- import javax.swing.JComponent;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JSlider;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
- public class P04 extends JFrame {
- private int n=1;
- public MyComponent komponent;
- class MyComponent extends JComponent{
- @Override
- protected void paintComponent(Graphics g) {
- int x0=getWidth()/6;
- int y0=getHeight()/6;;
- int szer=getWidth()*2/3;
- int wys=getHeight()*2/3;
- //for(int i=0;i<n;i++)
- //int x=x0+szer*i/(n-1);
- //g.drawLine(x1,y0,x,y0+wys);
- for(int i=0;i<n-1;i++)
- {
- for(int j=0;j<n-1;j++)
- {
- g.setColor(((i+j)%2==0)?Color.WHITE:Color.BLACK);
- g.fillRect(x0+szer*i/(n-1), y0+wys*j/(n-1), szer/(n-1), wys/(n-1));
- }
- }
- super.paintComponent(g);
- }
- }
- public P04(String string) {
- super(string);
- Toolkit kit=Toolkit.getDefaultToolkit();
- Dimension d=kit.getScreenSize();
- setBounds(d.width/6,d.height/6,d.width*2/3,d.height*2/3);
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- add(komponent=new MyComponent());
- JPanel panel=new JPanel(new BorderLayout());
- add(panel,BorderLayout.SOUTH);
- final JLabel label = new JLabel(getDesc());
- d=label.getPreferredSize();
- d.width*=1.25;
- final JSlider slider=new JSlider(1,20,n);
- slider.addChangeListener(new ChangeListener() {
- @Override
- public void stateChanged(ChangeEvent e) {
- n = slider.getValue();
- label.setText(getDesc());
- komponent.repaint();
- }
- });
- panel.add(slider);
- panel.add(label,BorderLayout.WEST);
- setVisible(true);
- }
- private String getDesc() {
- return " n = "+n;
- }
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- @Override
- public void run() {
- new P04("p04");
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement