Button erscheinen wenn der Mauszeiger drüberfährt

Lephty

Mitglied
hallo, bin neu 🙂

hab im zweiten semester C++ gehabt , jetzt versuch ich mich mit java auszuprobieren
hab so einen kurs gemacht, und mir Literatur :rtfm: besorgt
jetzt will ich ein kleines programm schreiben, mit dem man Transistoren berechnen kann
halt nur ein kleines projekt um das gelernte anzuwenden

bin im moment dabei den GUI aufzubauen, mein problem ist halt dass die Buttons nicht richtig gezeichnet werden, erst wenn ich mit der Maus drüber fahre, 😕

ich brauch noch einen weiteren hint, wie kann ich die images(mit skalierung) als objekte behandeln und beispielsweise in einem gridlayout verwenden? :reflect:

bitte helft mir

Java:
package javaapplication29;
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.applet.*;
import java.io.*;
import javax.imageio.*;

class TestFrame extends JFrame{

    public void paint(Graphics screen) {
    Image img1 = Toolkit.getDefaultToolkit().getImage("c:/transistor1.png");
Image img2 = Toolkit.getDefaultToolkit().getImage("c:/transistor2.png");
Image img3 = Toolkit.getDefaultToolkit().getImage("c:/transistor3.png");
screen.drawImage(img1, 50,100, this);
screen.drawImage(img2, 450,100, this);
screen.drawImage(img3, 740,100, this);
    }
public static void main(String[] args) {

JFrame F=new TestFrame();
F.setSize(1000,500);
F.setLayout(null);
F.getContentPane().setBackground(Color.white);
F.setVisible(true);
F.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton Button1=new JButton("Transistor1");
JButton Button2=new JButton("Transistor2");
JButton Button3=new JButton("Transistor3");
Button1.setBounds(50,400,100,25);
Button2.setBounds(450,400,100,25);
Button3.setBounds(730,400,100,25);
F.add(Button1);
F.add(Button2);
F.add(Button3);
    }
}
 
habs jetzt folgendermaßen gemacht, sieht eventuell besser aus

aber es werden immernoch die Buttons erst angezeigt wenn ich mit der maus drüberfahre...hm
was könnte die lösung sein ? :reflect:

ich nutze NetBeans ,...

Java:
package javaapplication29;
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.applet.*;
import java.io.*;
import javax.imageio.*;

class TestFrame extends JFrame{
public void initgui(){
JFrame f=new TestFrame();
f.setSize(1000,500);
f.setLayout(null);
f.getContentPane().setBackground(Color.white);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton button1=new JButton("Transistor1");
JButton button2=new JButton("Transistor2");
JButton button3=new JButton("Transistor3");
button1.setBounds(50,400,100,25);
button2.setBounds(450,400,100,25);
button3.setBounds(730,400,100,25);
f.add(button1);
f.add(button2);
f.add(button3);
f.setVisible(true);
f.repaint();

}
    public void paint(Graphics screen) {
    Image img1 = Toolkit.getDefaultToolkit().getImage("c:/transistor1.png");
Image img2 = Toolkit.getDefaultToolkit().getImage("c:/transistor2.png");
Image img3 = Toolkit.getDefaultToolkit().getImage("c:/transistor3.png");
screen.drawImage(img1, 50,100, this);
screen.drawImage(img2, 450,100, this);
screen.drawImage(img3, 740,100, this);

    }
public static void main(String[] args) {
TestFrame f=new TestFrame();
f.initgui();

    }
}
 
Zuletzt bearbeitet:
Die Lösung könnte sein es wie folgt zu machen:
[JAVA=30]
public void paint(Graphics screen) {
super.paint(screen);
Image img1 = Toolkit.getDefaultToolkit().getImage("c:/transistor1.png");
...
[/code]

Und schau dir Literatur zur Vererbung an. Von JFrame abzuleiten und dann noch einen zu erstellen ergibt keinen Sinn.
 
Zuletzt bearbeitet:
fetzt danke ^^ das hat geklappt , das motiviert 🙂

ich weiß , ich hab während des umfriemelns schon überlegt wie ich das vermeide, schau ich mir morgen früh direkt an wie das geht
ich kann ja mal das fertige projekt dann posten ^^

und ist netbeans nicht so gut , söllt ich noch schnell zu eclipse wechseln??????
 
Zuletzt bearbeitet:

Zurück
Oben