problem ze współrzędnymi w JTextArea

0
         
public class Main0 extends JFrame{
    public Main0(){
        super("Księżyc");
        this.setBounds(100,100,500,500);
        init();
        this.setDefaultCloseOperation(3);
    }
    public void init(){
        panel3.add(wspol);
        panel2.setLayout(new GridLayout(6, 6));
        for(int i=0; i<6; i++)
            for(int j=0; j<6; j++)
                b_buttony();
        panel.add(obszar);
        panel.add(text);
        b_button("KONWERTUJ");
        this.getContentPane().add(panel, BorderLayout.PAGE_START);
        this.getContentPane().add(panel2, BorderLayout.CENTER);
        this.getContentPane().add(panel3, BorderLayout.PAGE_END);
        pack();
    }
    public void b_button(String nazwa){
        JButton przycisk = new JButton(nazwa);
        przycisk.addActionListener(new sluchacz());
        panel.add(przycisk);
    }
    public void b_buttony(){
        JButton przycisk2 = new JButton();
        przycisk2.addMouseListener(new myszka());
        panel2.add(przycisk2);
    }
    private class myszka implements MouseListener{
        @Override
        public void mouseEntered(MouseEvent e) {
            wspol.setText("x= "+e.getX()+" i y= "+e.getY());
        }
    }
    private class sluchacz implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e){
//          String odczyt = text.getText();
            obszar.setText(""+Integer.parseInt(text.getText())*2);            
        }
    }   
    public static void main(String[] args){
        new Main0().setVisible(true);
    }    
    private JPanel panel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
    private JPanel panel2 = new JPanel();
    private JPanel panel3 = new JPanel(new FlowLayout(FlowLayout.LEFT));
    private JTextField text = new JTextField(4);
    private JTextArea obszar = new JTextArea(1,4);
    private JTextArea wspol = new JTextArea(1,8);
}

Chodzi mi o to, że kiedy najadę na buttony stworzone w GridLayout kursorem ma mi wyświetlać berzące współrzędne w JTextArea, stworzyłem kod jednak nie wiem w czym problem?

Za każdą pomoc serdecznie dziękuję :)

0

Współrzędne czego i w którym TextArea? Skoro sam nie wiesz, z czym masz problem, my też raczej nie zgadniemy :d

0

TextArea który jest na PAGE_END. Współrzędne buttona w GridLayout na który wskazuje kursor.

0

U mnie właśnie tam wyświetlają się te współrzędne.

0

Ale jak najedę na inny button to współrzędne się nie zmieniają...

0

U mnie się zmieniają. Zauważ, że korzystasz z mouseEntered, które jest wywoływane tylko raz podczas wjechania na daną kontrolkę, więc tylko wtedy zmieniają się współrzędne.

0

Masz rację. Nie wiem dlaczego mam error i muszę nadpisać wszystkie metody abstrakcyjne, które nie są mi praktycznie do niczego potrzebne... da się jakoś to załatać?

0

Nie implementujesz metody mouseExited - jeśli nie jest ci potrzebna, zmień:
private class myszka implements MouseListener
na
private class myszka extends MouseAdapter

0

Dzięki teraz już gra. Mam jeszcze pytanie gdybym chciał zrobić nasłuchiwanie MouseEntered panel2, to co musiałbym wprowadzić?

Myślałem o czym takim: panel2.addMouseListener(new myszka()); ...ale coś nie gra?

0

doSZEDŁem do tego, więc cofam pytanie.

W GroupLayout da zrobić odstępy między buttonami, czy to samo da się zrobić w GridLayout?

0

Metody setHgap i setVgap.

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