Hallo !
Ich bin kurz vor dem verzweifeln. Ich arbeite sehr gern mit NetBeans und versuche jetzt über einen jButton1 eine Grafik zu zeichnen. Macht er auch. Er zeichnet zwei schwarze Linien( v. File test4view.java ). Über den zweiten Button soll er repainten ( falls das überhaupt Sinn macht). Ich hab dazu die Klasse MyDraw im Internet gefunden.
Wenn ich die zwei Linien v. test4view.java weglasse - kommt auf dem Panel gar nichts. Es geht ja eigentl. nur darum dass wenn das Fenster geschlossen wird bzw. wieder geöffnet wird, dass der Inhalt nicht verlorengeht. Was mache ich falsch ? Ach ja, die Punkte heißen - ich hab den Source-Code v. NetBeans mal zur besseren Übersicht weggelassen.
Gruß Uli
------------------------------------------------------------------------
Ich bin kurz vor dem verzweifeln. Ich arbeite sehr gern mit NetBeans und versuche jetzt über einen jButton1 eine Grafik zu zeichnen. Macht er auch. Er zeichnet zwei schwarze Linien( v. File test4view.java ). Über den zweiten Button soll er repainten ( falls das überhaupt Sinn macht). Ich hab dazu die Klasse MyDraw im Internet gefunden.
Wenn ich die zwei Linien v. test4view.java weglasse - kommt auf dem Panel gar nichts. Es geht ja eigentl. nur darum dass wenn das Fenster geschlossen wird bzw. wieder geöffnet wird, dass der Inhalt nicht verlorengeht. Was mache ich falsch ? Ach ja, die Punkte heißen - ich hab den Source-Code v. NetBeans mal zur besseren Übersicht weggelassen.
Gruß Uli
Java:
// File: MyDraw.java
package test4;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
public class MyDraw extends JPanel
{
@Override
public void paintComponent(Graphics g1)
{
Color C;
C = new Color(0, 0 , 0);
super.paintComponent(g1);
g1.setColor(C); // setze Farbe
g1.drawLine(0, 0, 40, 20);
g1.drawLine(0, 20, 40, 20);
}
}
Java:
//File: test4view.java
package test4;
import java.awt.Graphics;
import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JFrame;
public class Test4View extends FrameView
{
public Graphics g;
public int MyInit=0;
.
.
.
private void jButton1MouseClicked(java.awt.event.MouseEvent evt)
{
if ( MyInit == 0 )
{
g = jPanel1.getGraphics();
MyInit = 1;
jPanel1 = new MyDraw();
}
g.drawLine( 0, 0, 20, 20);
g.drawLine(10, 20, 30, 20);
jPanel1.repaint();
}
private void jButton2MouseClicked(java.awt.event.MouseEvent evt)
{
jPanel1.repaint();
}
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel mainPanel;
private javax.swing.JMenuBar menuBar;
private javax.swing.JProgressBar progressBar;
private javax.swing.JLabel statusAnimationLabel;
private javax.swing.JLabel statusMessageLabel;
private javax.swing.JPanel statusPanel;
private final Timer messageTimer;
private final Timer busyIconTimer;
private final Icon idleIcon;
private final Icon[] busyIcons = new Icon[15];
private int busyIconIndex = 0;
private JDialog aboutBox;
}