Comment puis-je créer deux méthodes de peinture? Lorsque j'essaie d'utiliser deux méthodes de peinture sur eux ne fonctionne jamais. Si cela ne peut être que je veux peindre en dehors de la méthode de peinture de base et je ne sais pas comment. Par exemple:Comment utiliser deux méthodes de peinture dans Java? Ou en dehors de la méthode de peinture de base
public class test extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
test frame = new test();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public void paint(Graphics g) {
g.fillRect(100, 100, 100, 100);
}
public void pp(Graphics g) {
g.fillRect(250, 100, 100, 100);
}
/**
* Create the frame.
*/
public test() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
}
}
Ces deux méthodes, ont des responsabilités différentes '(peinture et paintComponent)'. À mon avis, d'abord apprendre les bases de la peinture, à partir de [Performing Custom Painting] (http://docs.oracle.com/javase/tutorial/uiswing/painting/), puis essayez-vous à ce sujet. Ne pas 'paint' sur un conteneur de niveau supérieur, déléguer plutôt cette tâche à un conteneur, comme 'JPanel/JComponent', et peindre dans la méthode' paintComponent'. 'paint()' appelle en interne 'paintComponent()' automatiquement. En outre, essayez de ne pas utiliser 'AbsolutePositiong', utilisez à la place un' LayoutManager' approprié –
Cela pourrait vous aider http://docs.oracle.com/javase/tutorial/uiswing/painting/step2.html – Jack
S'il vous plaît * s'il vous plaît * lire * un guide * complet * sur la programmation orientée objet. Aviez-vous connu des méthodes que vous n'auriez jamais eu à poser cette question. – Qix