15. december 2003 - 20:54
Der er
4 kommentarer og 1 løsning
Tegne på JEditorPane
Jeg har et tabbedpane med 2 faner. problemet ligger i at jeg skal tegne på en editorpane som ligger på fane 2. Det sker med følgende kode: public void paint(Graphics g){ super.paint(g); g=editorpane_Graph.getGraphics(); g.setColor(Color.RED); g.drawString("Kasper",30,30); } problemer er blot at jeg først kan se resultatet efter at have først et andet vindue henover (=repaint)
Annonceindlæg fra Thales
15. december 2003 - 21:03
#1
Så vidt jeg husker er det JEditorPane's paintComponent du skal override
15. december 2003 - 21:08
#2
hvordan? Følgende virker ikke, men det er vist heller ikke det du mener. Denne klasse arver fra JPanel, hvis det spiller en rolle public void paintComponent (Graphics g){ super.paintComponent (g); g=editorpane_Graph.getGraphics(); g.setColor(Color.RED); g.drawString("Kasper",30,30); }
15. december 2003 - 21:16
#3
Desværre - jeg bange for at jeg er på dybt vand her !!!
15. december 2003 - 21:31
#4
Det lykkedes - du skal lave en klasse som extender JEditorPane, i den skal du override paintChildren() og adde den til din fane import java.awt.*; public class JFrame_4 extends javax.swing.JFrame { public JFrame_4() { initComponents(); setSize(500,500); } private void initComponents() { jTabbedPane1 = new javax.swing.JTabbedPane(); jButton1 = new javax.swing.JButton(); editor1 = new Editor(); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { exitForm(evt); } }); jButton1.setText("jButton1"); jTabbedPane1.addTab("tab1", jButton1); jTabbedPane1.addTab("tab2", editor1); getContentPane().add(jTabbedPane1, java.awt.BorderLayout.CENTER); pack(); } private void exitForm(java.awt.event.WindowEvent evt) { System.exit(0); } public static void main(String args[]) { new JFrame_4().show(); } private Editor editor1; private javax.swing.JButton jButton1; private javax.swing.JTabbedPane jTabbedPane1; } class Editor extends javax.swing.JEditorPane { public Editor() { } public void paintChildren(java.awt.Graphics g){ g.setColor(Color.BLACK); g.drawString("ABEKAT", 150,150); } }
17. december 2003 - 18:15
#5
Det virker jo perfekt - tak for hjælpen :-)
Kurser inden for grundlæggende programmering