problem z Graphics g

Odpowiedz Nowy wątek
2010-10-06 19:48
eastwood
0

Witam. Chciałem napisać sobie programik:
/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;
import javax.swing.*;

/*

  • @author Andrzej
    */
    public class NewJApplet extends JApplet implements ActionListener{
    JTextField pole = null;

JLabel liczba1 = new JLabel();
JLabel liczba2 = new JLabel();

public void init() {

setSize(300,300);
JPanel panel = new JPanel();
JButton but = new JButton("Pula śmierci");

but.addActionListener(this);
panel.add(but);
panel.setSize(40, 40);
pole = new JTextField(4);

panel.add(pole);
getContentPane().add(panel);

}
public void paint(Graphics g){
g.drawString("Hej",50,150);
}

public void actionPerformed(ActionEvent e) {
    System.out.println(pole.getText());
}

}

W momencie pisania tego posta zauważyłem pewną rzecz. Chciałem napisać, że funkcja paint(...) nie działa i nie wyświetla napisu, lecz teraz zauważyłem, że po maksymalizacji okna wszystko paint(...) działa, lecz przy maksymalizacji pole do wpisywania tekstu jest nieczynne. Dlaczego?

Pozdrawiam

Pozostało 580 znaków

2010-10-06 20:46
bo
0

Rozmiary zgadywałeś? Panel miał rozmiar 40X40, a Ty pisałeś w miejscu o współrzędnych 50,100.
Poczytaj jakąś książkę (tutorial) o Swingu.

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;
import javax.swing.*;

/**
 *
 * @author Andrzej
 */
public class NewJApplet extends JApplet implements ActionListener{
JTextField pole = null;

JLabel liczba1 = new JLabel();
JLabel liczba2 = new JLabel();

    public void init() {
        setLayout(new FlowLayout());
   //setSize(300,300);
   JPanel panel = new Panelik();
   JButton but = new JButton("Pula śmierci");

   but.addActionListener(this);
   add(but);
   panel.setPreferredSize(new Dimension(200,200));
   pole = new JTextField(4);

   add(pole);
   add(panel);

}

    public void actionPerformed(ActionEvent e) {
        System.out.println(pole.getText());
    }

}
class Panelik extends JPanel
{
        public void paintComponent(Graphics g){
        g.drawString("Hej",50,150);
    }
}

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0