Wie lege ich die Breite, Höhe, um einen Jframe?
Hallo, ich versuche, es so zu machen meine getwidth und getheight automatisch asigned von meiner Jframe
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import javax.swing.JComponent;
import java.awt.GradientPaint;
import java.awt.Polygon;
import java.awt.*;
/*
component that draws the concert background
*/
public class Concertbackground
{
public void draw(Graphics g)
{
//Recover Graphics2D
Graphics2D g2 = (Graphics2D) g;
//Background Top
g2.setColor(Color.BLUE);
Rectangle backgroundTop = new Rectangle (0, 0, getWidth(), getHeight() / 2);
g2.fill(backgroundTop);
//Background bottom
g2.setColor(Color.GREEN);
Rectangle backgroundBottom = new Rectangle (0, getHeight() / 2, getWidth(), getHeight() / 2);
g2.fill(backgroundBottom);
}
}
JFrame Teil
import javax.swing.JFrame;
import java.awt.BorderLayout;
public class Concert
{
public static void main(String[] args)
{
JFrame frame = new JFrame();
frame.setSize(1000, 800);
frame.setTitle("Concert!");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ConcertComponent component = new ConcertComponent();
frame.add(component);
frame.setVisible(true);
}
}
Teil, der tatsächlich zieht die Klassen, die ich erstellen
import java.awt.Graphics;
import javax.swing.JComponent;
public class ConcertComponent
{
public void paintComponent(Graphics g)
{
ConcertSpeaker speaker1 = new ConcertSpeaker(400, 300);
speaker1.draw(g);
ConcertSpeaker speaker2 = new ConcertSpeaker(0, 0);
speaker2.draw(g);
Concertbackground background1 = new Concertbackground();
background1.draw(g);
}
}
Wenn ich mich unklar, im Grunde möchte ich meine getheight und getwidth gleich die Jframe-Größe regaurdless, was Ihr eingestellt oder geändert werden, um
getHeight
undgetWidth
Gegenzug die aktuellen Dimensionen des JFrame aktuell. Was meinst du genau?frame.setSize(1000, 800);
dies in der Tat setzt Breite und Höhe- Bla gemeint, nicht den Teil, wo seine public class ConcertComponent nicht erstreckt JComponent oder ist es egal?
- okay nvm auf das Teil, jetzt bin ich verwirrt, warum Sie nicht tatsächlich ziehen mein hintergrund Komponente?
- Keiner der code Sinn macht. Keine der Klassen erstrecken sich von einer lackierfähig Elternteil, so etwas kann gemalt werden, noch kann Ihre ConcreteComponent Hinzugefügt werden, um jede Art von Behälter
Du musst angemeldet sein, um einen Kommentar abzugeben.
ist falsch. Bitte finden Sie in der Oracle online-doc über hinzufügen und Komponente.